How sanhik-hub/novamerged works
This is a math-learning and computational-thinking platform with a student client, an admin console, and a Flask backend. The student workflow covers account access, learning and workspace activity, and workspace-question computation; the backend also exposes question, history, scoring, and administration capabilities. Computation uses language parsing and routing before execution. The excerpts support several backend service calls, but do not show the full client/server or provider wiring; those links are marked unverified rather than inferred as direct calls.
Main entry points: routes.py HTTP routes · models.py Domain models · App.tsx Student app · app.py Flask application
Components 30
Student experience
- Student app
Computational_Thinking_2025-26/client/src/App.tsx - Client API
Computational_Thinking_2025-26/client/src/services/api.ts - Math rendering
Computational_Thinking_2025-26/client/src/components/MathText.tsx - Workspace rendering
Computational_Thinking_2025-26/client/src/components/WorkspaceSolutionText.tsx - Voice tutor hook
Computational_Thinking_2025-26/client/src/hooks/useVoiceTutor.ts - Voice tutor UI
Computational_Thinking_2025-26/client/src/components/VoiceTutor.tsx
Administration
- Admin console
Computational_Thinking_2025-26/Admin/src/App.tsx - Admin API
Computational_Thinking_2025-26/Admin/src/api.ts
Backend services
- Flask application
Computational_Thinking_2025-26/Server/app.py - HTTP routes
Computational_Thinking_2025-26/Server/routes/routes.py - Authentication
Computational_Thinking_2025-26/Server/services/auth_services.py - Workspace services
Computational_Thinking_2025-26/Server/services/workspace_services.py - Workspace computation
Computational_Thinking_2025-26/Server/services/workspace_computation_service.py - Workspace solutions
Computational_Thinking_2025-26/Server/services/workspace_solution_services.py - Question service
Computational_Thinking_2025-26/Server/services/questionAPI.py - History service
Computational_Thinking_2025-26/Server/services/history_services.py - Scoring service
Computational_Thinking_2025-26/Server/services/score_services.py - Domain models
Computational_Thinking_2025-26/Server/database/models.py - SQLAlchemy store
Computational_Thinking_2025-26/Server/database/db.py - Voice service
Computational_Thinking_2025-26/Server/services/voice_microservice.py
Computation
- Query parser
Computational_Thinking_2025-26/Server/services/language/parser.py - Intent router
Computational_Thinking_2025-26/Server/services/language/router.py - Parsed query
Computational_Thinking_2025-26/Server/services/language/entities.py - Conversation context
Computational_Thinking_2025-26/Server/services/language/context.py - Execution service
Computational_Thinking_2025-26/Server/services/execution_service.py - Computation providers
Computational_Thinking_2025-26/Server/providers
Other components
- Learner
- Administrator
- Database
- Browser audio
Connections 34
- Learner → Student app: uses
- Student app → Client API: calls
Computational_Thinking_2025-26/client/src/App.tsx - Student app → Math rendering: renders with
Computational_Thinking_2025-26/client/src/App.tsx - Student app → Workspace rendering: renders with
Computational_Thinking_2025-26/client/src/App.tsx - Student app → Voice tutor UI: renders
Computational_Thinking_2025-26/client/src/App.tsx - Voice tutor UI → Voice tutor hook: uses
- Client API → HTTP routes: HTTP requests
- Admin console → Admin API: calls
Computational_Thinking_2025-26/Admin/src/App.tsx - Administrator → Admin console: uses
- Admin API → HTTP routes: HTTP requests
- Flask application → SQLAlchemy store: initializes
Computational_Thinking_2025-26/Server/app.py - Flask application → Domain models: creates tables
Computational_Thinking_2025-26/Server/app.py - Flask application → HTTP routes: registers
Computational_Thinking_2025-26/Server/app.py - HTTP routes → Workspace services: calls
Computational_Thinking_2025-26/Server/routes/routes.py - HTTP routes → Workspace computation: calls
Computational_Thinking_2025-26/Server/routes/routes.py - HTTP routes → Workspace solutions: calls
Computational_Thinking_2025-26/Server/routes/routes.py - HTTP routes → Authentication: calls
Computational_Thinking_2025-26/Server/routes/routes.py - HTTP routes → Question service: calls
Computational_Thinking_2025-26/Server/routes/routes.py - HTTP routes → History service: calls
Computational_Thinking_2025-26/Server/routes/routes.py - HTTP routes → Scoring service: calls
Computational_Thinking_2025-26/Server/routes/routes.py - Workspace solutions → Execution service: calls
Computational_Thinking_2025-26/Server/services/workspace_solution_services.py - Execution service → Intent router: uses
Computational_Thinking_2025-26/Server/services/execution_service.py - Execution service → Computation providers: dispatches to
Computational_Thinking_2025-26/Server/services/execution_service.py - Query parser → Parsed query: creates
Computational_Thinking_2025-26/Server/services/language/parser.py - Intent router → Parsed query: reads
Computational_Thinking_2025-26/Server/services/language/router.py - Intent router → Conversation context: reads
Computational_Thinking_2025-26/Server/services/language/router.py - Workspace services → Domain models: reads and writes
Computational_Thinking_2025-26/Server/services/workspace_services.py - Authentication → Domain models: queries
Computational_Thinking_2025-26/Server/services/auth_services.py - Question service → Domain models: uses
Computational_Thinking_2025-26/Server/services/questionAPI.py - History service → Domain models: uses
Computational_Thinking_2025-26/Server/services/history_services.py - Domain models → SQLAlchemy store: defines tables
Computational_Thinking_2025-26/Server/database/models.py - SQLAlchemy store → Database: persists
- Browser audio → Voice tutor hook: streams audio
Computational_Thinking_2025-26/client/src/hooks/useVoiceTutor.ts - Voice tutor hook → Voice service: WebSocket