Skip to content

johnwhaledev/myViewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

myViewer — Codebase Architecture Mapper

Strumento di visual management per analizzare la struttura di un progetto software.
Scansiona un codebase locale, mappa le dipendenze tra file e rileva i file morti (orfani).

myViewer screenshot


Funzionalità principali

  • Analisi statica Python — AST nativo per estrarre import, funzioni e rotte FastAPI
  • Analisi frontend — Regex su JS/HTML per catturare chiamate fetch/axios
  • Rilevamento file morti — identifica file non referenziati da nessun altro modulo
  • Grafo architetturale — visualizzazione interattiva delle dipendenze con vis-network
  • Focus mode — clic su un file → abbassa l'opacità di tutto il resto
  • Code inspection — skeleton funzioni, endpoint API esposti, anteprima sorgente (60 righe)
  • Export JSON — struttura scaricabile come architecture.json
  • Modalità demo — progetto MIDI fittizio per esplorare l'app senza configurazione

Stack

Layer Tecnologia
Backend Python 3.11+ / FastAPI
Frontend Alpine.js v3 / Pico.css v2 / Tailwind CSS
Grafo vis-network v9
Icone Lucide

Tutte le librerie sono vendorizzate in vendor/ — nessuna dipendenza da CDN esterni.


Installazione

python -m venv .venv
.venv\Scripts\activate       # Windows
# source .venv/bin/activate  # Mac/Linux

pip install -r requirements.txt

Avvio

python main.py

Il browser si apre automaticamente su http://127.0.0.1:8000.

In alternativa con uvicorn diretto:

uvicorn main:app --reload --port 8000

Utilizzo

  1. Inserisci il percorso assoluto di un progetto nel campo in alto
  2. Clicca Scansiona Ora — la scansione è locale, nessun dato inviato a server esterni
  3. Clicca su un file nell'esploratore o sul grafo per vedere le sue connessioni
  4. Usa Filtra Solo Morti per isolare i file orfani
  5. Clicca Esporta architecture.json per salvare la struttura

Per provare senza un progetto reale: Carica Progetto Demo.


Cartelle escluse dalla scansione

.git, __pycache__, node_modules, .venv, venv, dist, build,
.pytest_cache, vendor, _archive, data, logs

Il file .gitignore del progetto scansionato viene letto e le sue cartelle aggiunte all'esclusione.


Struttura del progetto

myViewer/
├── main.py          # Entry point FastAPI (routes + server)
├── analyzer.py      # Logica analisi statica (AST, regex, dead file detection)
├── requirements.txt
├── frontend/
│   ├── index.html   # UI Alpine.js + vis-network
│   └── manual.html  # Manuale utente
└── vendor/          # Librerie frontend locali (nessun CDN)
    ├── pico.css
    ├── alpine.min.js
    ├── tailwind/
    ├── lucide/
    └── vis-network/

Licenza

MIT — vedi LICENSE.

About

Tool locale per mappare l'architettura di un codebase — dipendenze tra file, rilevamento file morti e grafo interattivo. FastAPI + Alpine.js, zero configurazione.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors