How comp47250-team-project/aegis works
AEGIS supports the full exam lifecycle: professors create and schedule quizzes, enroll students, and configure open-book resources; students take and submit exams while the browser sends answers separately from behavioral telemetry. Telemetry feeds live estimates and final integrity scoring, which professors review alongside timelines, grading, and exports. AI-assisted briefs, grading, and similarity checks are optional. The README documents several subsystem links not visible in sampled source; those are represented at the documented subsystem level, not as inferred internal call chains.
Main entry points: main.py FastAPI application · database.py Application database · App.tsx Role-based app · client.ts API client
Components 29
Web experience
- Role-based app
frontend/src/App.tsx - Exam interface
frontend/src/pages/ExamShell.tsx - Professor console
frontend/src/pages/ProfessorConsole.tsx - Student dashboard
frontend/src/pages/StudentDashboard.tsx - Telemetry SDK
frontend/src/telemetry/TelemetryClient.ts - API client
frontend/src/api/client.ts
Exam workflow
- FastAPI application
backend/app/main.py - Authentication
backend/app/routers/auth.py - Quiz authoring
backend/app/routers/quizzes.py - Exam management
backend/app/routers/exams.py - Groups and enrollment
backend/app/routers/groups.py - Open-book resources
backend/app/routers/resources.py - Session and results
backend/app/routers/sessions.py - CSV export
backend/app/routers/export.py
Integrity scoring
- Telemetry ingestion
backend/app/routers/telemetry.py - Event dispatch
backend/app/services/messaging.py - Scoring worker
backend/workers/scorer_worker.py - Signal scoring
backend/app/services/scoring/dispatch.py - Live monitoring
backend/app/services/live_monitor.py
Supporting services
- AI features
backend/app/services/ai - AI endpoints
backend/app/routers/ai.py - Application database
backend/app/database.py - Resource storage
backend/app/services/resource_storage.py
Other components
- Student
- Professor
- Administrator
- Azure Blob Storage
- Azure Service Bus
- AI model provider
Connections 37
- Student → Role-based app: uses
- Professor → Role-based app: uses
- Administrator → Role-based app: uses
- Role-based app → Exam interface: routes to
- Role-based app → Professor console: routes to
- Role-based app → Student dashboard: routes to
- Exam interface → API client: requests exam
- Professor console → API client: manages exams
- Student dashboard → API client: loads results
- Exam interface → Telemetry SDK: records signals
- Telemetry SDK → API client: sends events
- API client → FastAPI application: HTTP requests
- FastAPI application → Authentication: registers router
- FastAPI application → Quiz authoring: registers router
- FastAPI application → Exam management: registers router
- FastAPI application → Groups and enrollment: registers router
- FastAPI application → Open-book resources: registers router
- FastAPI application → Session and results: registers router
- FastAPI application → CSV export: registers router
- FastAPI application → Telemetry ingestion: registers router
- FastAPI application → AI endpoints: registers router
- Telemetry ingestion → Event dispatch: dispatches events
- Event dispatch → Azure Service Bus: queues events
- Scoring worker → Azure Service Bus: consumes events
- Scoring worker → Signal scoring: triggers scoring
- Telemetry ingestion → Signal scoring: scores in process
- Signal scoring → Application database: reads and writes
- Live monitoring → Application database: reads session data
- Open-book resources → Resource storage: stores and loads
- Resource storage → Azure Blob Storage: stores files
- AI endpoints → AI features: requests AI features
- AI features → AI model provider: calls provider
- Quiz authoring → Application database: persists content
- Exam management → Application database: persists exams
- Session and results → Application database: reads and writes
- Groups and enrollment → Application database: persists groups
- CSV export → Application database: reads results