How navnirmitieduquality/projectvigyan works
Project Vigyan is a multi-platform school and para-teacher application; this graph covers the FastAPI backend represented in the supplied tree. The principal workflow is authenticated API use to manage schools, classes, learners and teaching sessions, then record lesson activity and evidence; planning, calendars and assessments are adjacent capabilities. Photo handling is shown as a reusable internal layer. Edges are limited to relationships evidenced by excerpts, the source index or README; unsampled router behavior is not inferred.
Main entry points: main.py FastAPI application · service.py Photo coordination · dependencies.py Authentication and permissions · models Session and school data
Components 27
API and access
- FastAPI application
backend/app/main.py - Authentication routes
backend/app/routers/auth.py - Authentication and permissions
backend/app/dependencies.py - Credential and token helpers
backend/app/services/auth_service.py - PostgreSQL access
backend/app/database.py
School operations
- School administration
backend/app/routers/schools.py - Class divisions
backend/app/routers/class_divisions.py - Student records
backend/app/routers/students.py
Teaching workflow
- Teaching sessions
backend/app/routers/teaching_sessions.py - Session attendance
backend/app/routers/attendance.py - Learner engagement
backend/app/routers/engagement.py - Session and school data
backend/app/models
Planning and assessment
- Session planning
backend/app/routers/session_plan.py - Plan operations
backend/app/services/session_plan/service.py - Academic calendar
backend/app/routers/academic_calendar.py - Calendar operations
backend/app/services/academic_calendar/service.py - Assessment management
backend/app/routers/assessment.py - Assessment operations
backend/app/services/assessment/service.py
Evidence and media
- Session evidence
backend/app/routers/session_evidence.py - Evidence operations
backend/app/services/session_evidence/service.py - Teaching materials usage
backend/app/routers/session_tlm.py - Materials operations
backend/app/services/session_tlm/service.py - Photo coordination
backend/app/services/photo/service.py - Photo processing
backend/app/services/photo/processing.py - Photo storage
backend/app/services/photo/storage/local.py
Other components
- Para-teacher
- Management user
Connections 34
- Para-teacher → FastAPI application: uses
- Management user → FastAPI application: uses
- FastAPI application → Authentication routes: registers
backend/app/main.py - FastAPI application → School administration: registers
backend/app/main.py - FastAPI application → Class divisions: registers
backend/app/main.py - FastAPI application → Student records: registers
backend/app/main.py - FastAPI application → Teaching sessions: registers
backend/app/main.py - FastAPI application → Session attendance: registers
backend/app/main.py - FastAPI application → Learner engagement: registers
backend/app/main.py - FastAPI application → Session planning: registers
backend/app/main.py - FastAPI application → Academic calendar: registers
backend/app/main.py - FastAPI application → Assessment management: registers
backend/app/main.py - FastAPI application → Session evidence: registers
backend/app/main.py - FastAPI application → Teaching materials usage: registers
backend/app/main.py - Authentication routes → Credential and token helpers: uses
backend/app/routers/auth.py - Authentication routes → Authentication and permissions: checks access
backend/app/routers/auth.py - Class divisions → Authentication and permissions: checks access
backend/app/routers/class_divisions.py - Student records → Authentication and permissions: checks access
backend/app/routers/students.py - Teaching sessions → Session and school data: queries
backend/app/routers/teaching_sessions.py - Session attendance → Session and school data: queries
backend/app/routers/attendance.py - Learner engagement → Session and school data: queries
backend/app/routers/engagement.py - Session planning → Plan operations: uses
backend/app/routers/session_plan.py - Academic calendar → Calendar operations: uses
backend/app/routers/academic_calendar.py - Academic calendar → Plan operations: uses
backend/app/routers/academic_calendar.py - Assessment management → Assessment operations: uses
backend/app/routers/assessment.py - Session evidence → Evidence operations: uses
backend/app/routers/session_evidence.py - Teaching materials usage → Materials operations: uses
backend/app/routers/session_tlm.py - Evidence operations → Photo coordination: uses
backend/app/services/session_evidence/service.py - Materials operations → Photo coordination: uses
backend/app/services/session_tlm/service.py - Photo coordination → Photo processing: processes
backend/app/services/photo/service.py - Photo coordination → Photo storage: stores
backend/app/services/photo/service.py - Authentication and permissions → PostgreSQL access: reads
backend/app/dependencies.py - Photo coordination → PostgreSQL access: persists photo
backend/app/services/photo/service.py - Session and school data → PostgreSQL access: maps tables
backend/app/models/teaching_session.py