How dakshdagar1628/structbuddy works
StructBuddy is an interactive data-structure learning app. A learner enters through the web app, chooses a module, and uses its visual and step-through learning experiences; the repository also exposes module listings and summaries through an MCP endpoint. The route map and MCP tool behavior are supported by sampled source. The tree identifies the other module pages and visualizers, but their internal wiring was not sampled, so those links are omitted. The README’s general Supabase claims are not reflected as a product flow in the sampled source.
Main entry points: App.tsx App routes · DoublyLinkedListModule.tsx Doubly list page · mcp/index.ts Tool registry · mcp/index.ts MCP endpoint
Components 26
Web navigation
- App routes
src/App.tsx
Learning experiences
- Module home
src/pages/AlgoVizHome.tsx - Arrays page
src/pages/ArraysModule.tsx - Strings page
src/pages/StringsModule.tsx - Stack page
src/pages/StackModule.tsx - Queue page
src/pages/QueueModule.tsx - Linked list page
src/pages/LinkedListModule.tsx - Doubly list page
src/pages/DoublyLinkedListModule.tsx - Trees page
src/pages/TreesModule.tsx - Learning layout
src/components/algoviz/LearningLayout.tsx - Step code lab
src/components/algoviz/IntegratedCodeLab.tsx - Concept canvas
src/components/algoviz/VisualConceptCanvas.tsx - Array visualizer
src/components/algoviz/ArraysVisualizer.tsx - String visualizer
src/components/algoviz/StringsVisualizer.tsx - Stack visualizer
src/components/algoviz/StackVisualizer.tsx - Queue visualizer
src/components/algoviz/QueueVisualizer.tsx - Linked list visualizer
src/components/algoviz/LinkedListVisualizer.tsx - Doubly list visualizer
src/components/algoviz/DoublyLinkedListVisualizer.tsx - Tree visualizer
src/components/algoviz/TreeVisualizer.tsx - Array lesson data
src/data/arrayData.ts
MCP discovery
- MCP endpoint
supabase/functions/mcp/index.ts - Tool registry
src/lib/mcp/index.ts - List modules
src/lib/mcp/tools/list-modules.ts - Get module
src/lib/mcp/tools/get-module.ts
Other components
- Learner
- MCP client
Connections 18
- Learner → App routes: opens app
- App routes → Module home: routes to
- App routes → Arrays page: routes to
- App routes → Strings page: routes to
- App routes → Stack page: routes to
- App routes → Queue page: routes to
- App routes → Linked list page: routes to
- App routes → Doubly list page: routes to
- App routes → Trees page: routes to
- Doubly list page → Learning layout: renders
- Doubly list page → Step code lab: renders
- Doubly list page → Concept canvas: renders
- Doubly list page → Doubly list visualizer: renders
- MCP client → MCP endpoint: requests tools
- MCP endpoint → Tool registry: serves
- Tool registry → List modules: registers
- Tool registry → Get module: registers
- Array lesson data → Step code lab: supplies steps