How rehab-hamdy/agentic-ai-tutor works
GenT is a web-based AI tutor and assessment platform. Students authenticate, organize course documents by subject, ask citation-grounded questions in chat, and take quizzes generated from those materials; they can also review progress. The documented product spans document ingestion and knowledge-graph construction, hybrid retrieval and answer generation, and quiz generation and validation. The graph shows these major capabilities plus the frontend, ASP.NET API, and persistence layers. Some AI-service and backend wiring is not shown in the sampled source, so those cross-service links are marked unverified.
Main entry points: main.py AI service API · apiClient.ts API client · AppDbContext.cs Relational data · rag_service.py RAG answering
Components 27
Student web app
- Web application
Frontend/src/app/App.tsx - API client
Frontend/src/lib/apiClient.ts - Chat experience
Frontend/src/app/pages/Chat.tsx - Quiz experience
Frontend/src/app/pages/ActiveQuiz.tsx - Authentication UI
Frontend/src/context/AuthContext.tsx
Application backend
- ASP.NET API
Backend/AgenticAITutor/AgenticAITutor/Program.cs - Authentication
Backend/AgenticAITutor/AgenticAITutor/Services/Auth/AuthService.cs - Document management
Backend/AgenticAITutor/AgenticAITutor/Controllers/DocumentController.cs - Uploaded files
Backend/AgenticAITutor/AgenticAITutor/Services/Storage/LocalFileStorageService.cs - Chat sessions
Backend/AgenticAITutor/AgenticAITutor/Services/ChatSession/ChatSessionService.cs - Chat orchestration
Backend/AgenticAITutor/AgenticAITutor/Services/ChatMessage/ChatMessageService.cs - Relational data
Backend/AgenticAITutor/AgenticAITutor/Data/AppDbContext.cs - Quiz management
Backend/AgenticAITutor/AgenticAITutor/Controllers/QuizController.cs - Quiz processing
Backend/AgenticAITutor/AgenticAITutor/BackgroundJobs/QuizGenerationJob.cs - Learning analytics
Backend/AgenticAITutor/AgenticAITutor/Controllers/AnalyticsController.cs
AI tutoring
- AI service API
ai_service/app/main.py - Document chunking
ai_service/app/kg_pipeline.py - RAG answering
ai_service/app/rag_service.py - Text embeddings
ai_service/app/embedding.py - Vector retrieval
ai_service/app/vector_store.py - Knowledge graph
ai_service/app/kg_service.py - Language model
ai_service/app/llm.py
Assessment AI
- Quiz generation
ai_service/app/quiz/quiz_generator.py - Quiz API routes
ai_service/app/quiz/quiz_generate_router.py
Other components
- Student
- Web search
- Speech services
Connections 28
- Student → Web application: uses
README.md - Web application → API client: routes requests
Frontend/src/app/App.tsx - Chat experience → API client: requests data
- Quiz experience → API client: requests data
- Authentication UI → API client: authenticates through
- API client → ASP.NET API: calls
- ASP.NET API → Authentication: registers service
Backend/AgenticAITutor/AgenticAITutor/Program.cs - ASP.NET API → Relational data: configures
Backend/AgenticAITutor/AgenticAITutor/Program.cs - Document management → Uploaded files: stores uploads
- Chat sessions → Relational data: persists sessions
- Chat orchestration → AI service API: posts chat request
- Chat orchestration → Relational data: persists messages
- AI service API → Document chunking: processes documents
- Document chunking → Knowledge graph: builds graph
- AI service API → RAG answering: dispatches answers
- RAG answering → Text embeddings: embeds query
ai_service/app/rag_service.py - RAG answering → Vector retrieval: retrieves chunks
ai_service/app/rag_service.py - RAG answering → Language model: generates answer
ai_service/app/rag_service.py - AI service API → Knowledge graph: retrieves concepts
- AI service API → Web search: augments answers
- AI service API → Speech services: supports speech
- Quiz API routes → Quiz generation: dispatches generation
ai_service/app/quiz/quiz_generate_router.py - Quiz management → Quiz processing: schedules processing
- Quiz processing → Quiz API routes: requests quiz work
- Quiz management → Relational data: persists attempts
- Learning analytics → Relational data: reads progress
- Student → Chat experience: asks questions
README.md - Student → Quiz experience: takes quizzes
README.md