How ujjwalagrawal3950/git-tree-maker works
Git-Tree-Maker is a repository dependency-graph explorer. A signed-in user supplies a GitHub repository; the frontend verifies it, loads or builds a revision-scoped graph, then presents dependency maps, node details, provenance, and unresolved references. Backend parsing and language-specific resolution feed graph construction and snapshot queries. The README contains no capability detail, so the broader product scope is taken from the route surface and source index; unsampled subsystem links are omitted where their callers are not evidenced.
Main entry points: App.jsx Explorer App · graphController.js Graph Controller · graphPipeline.js Graph Pipeline · github.js GitHub Service
Components 25
Graph Explorer
- Explorer App
Frontend/src/App.jsx - API Client
Frontend/src/lib/api.js - Graph Transformer
Frontend/src/lib/graphTransformer.js - Dependency Map
Frontend/src/components/map/DependencyMap.jsx - Node Details
Frontend/src/components/DetailPanel.jsx - Provenance Panel
Frontend/src/components/ProvenancePanel.jsx - Unresolved References
Frontend/src/components/UnresolvedReferencesPanel.jsx
Backend API
- Graph Routes
Backend/routes/graphRoutes.js - Graph Controller
Backend/controllers/graphController.js - Repository Controller
Backend/controllers/repositoryController.js - GitHub Service
Backend/services/github.js - Source Retrieval
Backend/services/sourceRetrieval.js
Parsing and Resolution
- Parser Entry
Backend/services/parser/index.js - Language Adapters
Backend/services/parser/adapters - Import Resolvers
Backend/services/parser/resolvers
Graph Services
- Graph Pipeline
Backend/services/graph/graphPipeline.js - Graph Builder
Backend/services/graph/GraphBuilder.js - Evidence Normalizer
Backend/services/graph/evidenceNormalizer.js - Snapshot Store
Backend/services/graph/GraphSnapshotStore.js - Graph Query Service
Backend/services/graph/GraphQueryService.js
Identity and Tenancy
- Session Authentication
Backend/middleware/auth.js - Organization Service
Backend/services/organizations.js
Other components
- Repository Explorer
- Supabase
- GitHub
Connections 28
- Repository Explorer → Explorer App: explores repositories
Frontend/src/App.jsx - Explorer App → API Client: requests data
Frontend/src/App.jsx - Explorer App → Graph Transformer: transforms graph
Frontend/src/App.jsx - Explorer App → Dependency Map: renders graph
Frontend/src/App.jsx - Explorer App → Node Details: shows details
Frontend/src/App.jsx - Explorer App → Provenance Panel: shows provenance
Frontend/src/App.jsx - Explorer App → Unresolved References: shows unresolved
Frontend/src/App.jsx - Dependency Map → Graph Transformer: uses elements
Frontend/src/components/map/DependencyMap.jsx - API Client → Graph Routes: calls API
- Graph Routes → Session Authentication: requires session
Backend/routes/graphRoutes.js - Graph Routes → Graph Controller: routes requests
Backend/routes/graphRoutes.js - Graph Controller → Graph Pipeline: builds graph
Backend/controllers/graphController.js - Graph Controller → Snapshot Store: queries snapshots
Backend/controllers/graphController.js - Graph Controller → GitHub Service: discovers manifest
Backend/controllers/graphController.js - Graph Controller → Source Retrieval: retrieves sources
Backend/controllers/graphController.js - Repository Controller → GitHub Service: verifies repository
Backend/controllers/repositoryController.js - Repository Controller → Source Retrieval: retrieves sources
Backend/controllers/repositoryController.js - GitHub Service → GitHub: fetches repository data
- Source Retrieval → GitHub Service: retrieves source
Backend/services/sourceRetrieval.js - Parser Entry → Language Adapters: registers adapters
Backend/services/parser/index.js - Parser Entry → Import Resolvers: registers resolvers
Backend/services/parser/index.js - Graph Pipeline → Import Resolvers: resolves imports
Backend/services/graph/graphPipeline.js - Graph Pipeline → Evidence Normalizer: normalizes evidence
Backend/services/graph/graphPipeline.js - Graph Pipeline → Graph Builder: builds snapshot
Backend/services/graph/graphPipeline.js - Graph Pipeline → Snapshot Store: stores snapshot
Backend/services/graph/graphPipeline.js - Snapshot Store → Graph Query Service: creates query service
Backend/services/graph/GraphSnapshotStore.js - Session Authentication → Organization Service: checks tenant access
- Organization Service → Supabase: persists organization data
Backend/services/organizations.js