How d0t-j/tutre works
Tutre is a STEM learning platform with independent staff and student React portals backed by Supabase. Teachers manage curriculum and create, preview, and publish AI-generated simulations; students browse the curriculum, run simulations in a sandboxed iframe, and chat with an AI tutor. The graph reflects the README’s documented workflow and capabilities plus the supplied source excerpts. Backend function internals and several feature implementations were not sampled, so undocumented connections are omitted.
Main entry points: simulations Simulation studio · generate-simulation/index.ts Simulation generation · chat-tutor/index.ts Tutor function · SimulationViewer.jsx Simulation viewer
Components 24
Staff portal
- Staff routes
admin-panel/src/routes/AppRoutes.jsx - Simulation studio
admin-panel/src/features/simulations - Save simulation
admin-panel/src/features/simulations/hooks/useSimulationStorage.js
Student learning
- Student routes
student-panel/src/routes/AppRoutes.jsx - Curriculum browsing
student-panel/src/pages/Dashboard/Dashboard.jsx - Simulation viewer
student-panel/src/pages/Simulations/SimulationViewer.jsx - Sandboxed simulation
student-panel/src/features/simulations/components/ViewerIframe.jsx - AI tutor chat
student-panel/src/features/simulations/hooks/useChatbotStream.js - Study guides
student-panel/src/features/simulations - Learning progress
student-panel/src/features/progress/hooks/useProgress.js
Supabase backend
- Supabase database
- Simulation generation
supabase/functions/generate-simulation/index.ts - 3D generation
supabase/functions/generate-simulation-3d/index.ts - Tutor function
supabase/functions/chat-tutor/index.ts - HTML detail extraction
supabase/functions/extract-html-details/index.ts - Requirement suggestions
supabase/functions/suggest-requirements/index.ts - Content translation
supabase/functions/translate-content/index.ts - WhatsApp delivery
supabase/functions/send-whatsapp/index.ts
School and curriculum
- Curriculum manager
admin-panel/src/pages/Curriculum/CurriculumManager.jsx - School administration
admin-panel/src/features/school - Organizations
admin-panel/src/features/organizations
Other components
- Teacher
- Student
- AI services
Connections 35
- Teacher → Staff routes: uses
README.md - Staff routes → Simulation studio: routes to
admin-panel/src/routes/AppRoutes.jsx - Teacher → Curriculum manager: manages
README.md - Teacher → School administration: manages school
README.md - Teacher → Organizations: manages
README.md - Simulation studio → Simulation generation: requests generation
README.md - Simulation studio → 3D generation: requests generation
- Simulation generation → AI services: generates HTML
README.md - 3D generation → AI services: generates simulation
- Simulation generation → Simulation studio: returns HTML
README.md - 3D generation → Simulation studio: returns result
- Simulation studio → Save simulation: saves draft
- Save simulation → Supabase database: writes topic and simulation
admin-panel/src/features/simulations/hooks/useSimulationStorage.js - Teacher → Simulation studio: previews and publishes
README.md - Student → Student routes: uses
README.md - Student routes → Curriculum browsing: routes to
student-panel/src/routes/AppRoutes.jsx - Student routes → Simulation viewer: routes to
student-panel/src/routes/AppRoutes.jsx - Student → Curriculum browsing: browses curriculum
README.md - Curriculum browsing → Supabase database: selects simulations
README.md - Student → Simulation viewer: opens simulation
README.md - Simulation viewer → Supabase database: loads simulation
README.md - Simulation viewer → Sandboxed simulation: renders sandboxed
README.md - Student → AI tutor chat: asks questions
README.md - AI tutor chat → Tutor function: requests streamed answer
README.md - Tutor function → AI services: generates answer
- Tutor function → AI tutor chat: streams answer
README.md - Student → Study guides: exports guides
README.md - Study guides → WhatsApp delivery: sends guide
- Student → Learning progress: views progress
- Learning progress → Supabase database: reads progress
- Simulation studio → HTML detail extraction: extracts HTML details
- Simulation studio → Requirement suggestions: gets requirement suggestions
- Simulation studio → Content translation: translates content
- Simulation generation → Supabase database: uses backend
- Tutor function → Supabase database: uses backend