How ndktu/ndktu-student-face-platform works
This repository implements an educational platform: users sign in and reach role- and permission-aware dashboards, then manage courses, organization data, quizzes, files, and student services. A separate face-detection API supports video-based face checks. The sampled source confirms application routing, selected endpoint-to-repository calls, EduPlan authentication, file storage, and face-service startup; many other subsystem links are represented only at their documented/tree level, so uncertain internal wiring is omitted.
Main entry points: router.py API router · database Platform database · video_service.py Video analysis · App.tsx Web application
Components 23
Web client
- Web application
frontend/src/App.tsx - Auth context
frontend/src/context/AuthContext.tsx - Role-based pages
frontend/src/pages - API services
frontend/src/services
Platform API
- API application
backend/app/main.py - API router
backend/app/modules/router.py - Identity and access
backend/app/modules/auth - Organization structure
backend/app/modules/organization_structure - Platform database
backend/app/core/database
Learning services
- Course delivery
backend/app/modules/course - Assessment and quizzes
backend/app/modules/quiz - Psychology services
backend/app/modules/psychology - Announcements
backend/app/modules/announcement - File library
backend/app/modules/file
Integrations
- EduPlan integration
backend/app/modules/integration/eduplan - Zoom integration
backend/app/modules/integration/zoom
Face detection
- Face detection API
face-detection/app/main.py - Face endpoints
face-detection/app/api/v1 - Video analysis
face-detection/app/services/video_service.py - Detection and recognition
face-detection/app/services/face_detector.py - Captured face storage
face-detection/app/utils/face_storage.py
Other components
- Platform user
- EduPlan service
Connections 28
- Platform user → Web application: uses
- Web application → Auth context: checks identity
- Web application → Role-based pages: routes to
- Role-based pages → API services: requests data
- API services → API application: calls API
- API application → API router: mounts routes
- API router → Identity and access: dispatches
- API router → Organization structure: dispatches
- API router → Course delivery: dispatches
- API router → Assessment and quizzes: dispatches
- API router → Psychology services: dispatches
- API router → Announcements: dispatches
- API router → File library: dispatches
- Identity and access → Platform database: reads and writes
- Organization structure → Platform database: reads and writes
- Course delivery → Platform database: reads and writes
- Assessment and quizzes → Platform database: reads and writes
- Psychology services → Platform database: reads and writes
- Announcements → Platform database: reads and writes
- File library → Platform database: records file metadata
- EduPlan integration → EduPlan service: authenticates with
- API router → EduPlan integration: dispatches
- API router → Zoom integration: dispatches
- Face detection API → Face endpoints: mounts routes
- Face endpoints → Video analysis: handles video
- Face detection API → Video analysis: warms detector
- Video analysis → Detection and recognition: analyzes frames
- Video analysis → Captured face storage: stores captures