How shreya661/edubridge-ai-human-like-school-assistant works
XYZ AI is a role-aware school assistant. Users sign in, then submit chat or voice requests; the backend interprets requests, checks permissions and resource ownership, dispatches permitted operations, and returns persona- and language-aware responses. Its other major product branches include tutoring and quizzes, staff escalation, school calendar and analytics, voice/avatar interaction, and role guidance. The README documents the core request flow; sampled source confirms session and NLU behavior, but most router-to-service wiring is not shown, so uncertain links are omitted.
Main entry points: main.py FastAPI application · app.js Web interface · service.py Request interpretation · dispatcher.py Tool dispatcher
Components 24
User experience
- Web interface
backend/static/app.js - FastAPI application
backend/app/main.py
Conversation workflow
- Request interpretation
backend/app/nlu/service.py - LLM client
backend/app/nlu/llm_client.py - Conversation context
backend/app/conversation/manager.py - Tool dispatcher
backend/app/routing/dispatcher.py
Identity and access
- Authentication
backend/app/auth/router.py - Session store
backend/app/session/session_manager.py - Session identity
backend/app/session/dependencies.py - Authorization gate
backend/app/authz/engine.py - Ownership rules
backend/app/authz/ownership.py - Role guidance
backend/app/domain/role_guides_router.py
School services
- Attendance service
backend/app/attendance/service.py - School domain data
backend/app/domain/repositories.py - Attendance analytics
backend/app/analytics/router.py - Staff escalation
backend/app/mock_api/escalation.py - Calendar and timetables
backend/app/calendar/router.py
Learning and media
- Tutor and quizzes
backend/app/chatbot/service.py - Teacher live chat
backend/app/chatbot/live_chat.py - Language support
backend/app/i18n/language_router.py - Speech services
backend/app/voice/router.py - Avatar and lip-sync
backend/app/avatar/provider.py
Other components
- School user
- LLM provider
Connections 27
- School user → Web interface: submits request
- Web interface → FastAPI application: calls API
- FastAPI application → Authentication: routes login
- Authentication → Session store: creates session
- FastAPI application → Session identity: checks identity
- Session identity → Session store: reads session
- FastAPI application → Request interpretation: routes request
- Request interpretation → Conversation context: loads context
- Request interpretation → LLM client: interprets message
- LLM client → LLM provider: requests completion
- Request interpretation → Authorization gate: checks request
- Authorization gate → Ownership rules: validates scope
- Request interpretation → Tool dispatcher: dispatches allowed intent
- Tool dispatcher → Attendance service: invokes tool
- Tool dispatcher → Attendance analytics: invokes tool
- Tool dispatcher → Staff escalation: invokes tool
- Attendance service → School domain data: reads school data
- Attendance analytics → School domain data: reads school data
- FastAPI application → Calendar and timetables: routes calendar requests
- FastAPI application → Role guidance: routes guidance requests
- FastAPI application → Tutor and quizzes: routes tutor requests
- Tutor and quizzes → Teacher live chat: offers staff chat
- FastAPI application → Speech services: routes speech requests
- FastAPI application → Avatar and lip-sync: routes avatar requests
- Web interface → Speech services: sends audio requests
- Web interface → Avatar and lip-sync: requests avatar
- Web interface → Language support: requests language support