How ayshasharaf/repomap works
RepoMap accepts a public Spring Boot Java repository URL, scans the repository, and presents seven architectural and health views. The main path is browser dashboard → web proxy → Python scanner → scan and overview generation → persisted, streamed JSON → dashboard. Scan diagrams include route sequences, transactions, and triggers; the web app also supports scan history, comparisons, and GitHub repository metadata. The README documents these capabilities; some subsystem wiring is represented only where source excerpts or documentation support it.
Main entry points: Dashboard.tsx Scan dashboard · main.py Scanner API · route.ts Scan API proxy · readScans.ts Saved scan reader
Components 19
Web dashboard
- Dashboard page
apps/web/app/page.tsx - Scan dashboard
apps/web/components/Dashboard.tsx - Scan API proxy
apps/web/app/scan-github/route.ts - Repository metadata
apps/web/app/repo-meta/route.ts - Flow metadata parser
apps/web/lib/flow.ts - Diagram renderer
apps/web/components/MermaidDiagram.tsx - Scan comparison
apps/web/lib/diff.ts - Saved scan reader
apps/web/lib/readScans.ts
Repository scanner
- Scanner API
scanner/main.py - Clone repository
scanner/main.py - Java AST scan
scanner/scan.py - Overview analysis
scanner/overview.py - Route diagrams
scanner/sequence.py
Scan results
- Scan JSON
- Saved scans
External integrations
- GitHub repository
- GitHub metadata API
- Mermaid library
Other components
- Repository user
Connections 22
- Repository user → Dashboard page: opens
- Dashboard page → Scan dashboard: renders
- Scan dashboard → Scan API proxy: submits URL
- Scan API proxy → Scanner API: forwards scan
- Scanner API → Clone repository: starts scan
- Clone repository → GitHub repository: shallow clones
- Scanner API → Java AST scan: scans directory
- Scanner API → Overview analysis: builds overview
- Java AST scan → Scan JSON: produces entities, findings, diagrams
- Overview analysis → Scan JSON: adds summary
- Scanner API → Saved scans: persists result
- Scanner API → Scan API proxy: streams result
- Scan API proxy → Scan dashboard: returns NDJSON
- Scan dashboard → Saved scans: deletes saved scan
- Saved scan reader → Saved scans: reads saved scans
- Saved scan reader → Scan dashboard: loads history
- Scan dashboard → Flow metadata parser: parses diagram metadata
- Scan dashboard → Diagram renderer: renders views
- Diagram renderer → Mermaid library: renders diagrams
- Scan dashboard → Scan comparison: compares scans
- Scan dashboard → Repository metadata: requests metadata
- Repository metadata → GitHub metadata API: fetches repository details