How atishayd/aifred works
AiFRED is a desktop classroom tool for course and student management, face-based attendance, hand-raise tracking, and question relevance analysis. In the main workflow, an instructor selects a course, registers students, and uses camera/audio features to capture attendance and engagement; question audio is transcribed and classified, and records are stored for review. The excerpts show both a main-window analysis path and a separate engagement tab with an audio processor. Some tab wiring and database methods are unsampled, so uncertain connections are omitted.
Main entry points: db_manager.py Database manager · main_window.py Main window · engagement_tab.py Engagement tracking · main.py Application startup
Components 16
Application and courses
- Application startup
src/main.py - Configuration
src/utils/config.py - Main window
src/ui/main_window.py - Course selection
src/ui/course_dialog.py - Student details
src/ui/student_dialog.py
Classroom workflows
- Student registration
src/ui/components/student_registration_tab.py - Attendance capture
src/ui/components/attendance_tab.py - Face recognition
- Engagement tracking
src/ui/components/engagement_tab.py - Pose detection
Question analysis
- Audio processor
src/utils/audio_processor.py - OpenAI APIs
Storage and services
- Database manager
src/database/db_manager.py - MongoDB
Other components
- Instructor
- Camera
Connections 26
- Instructor → Application startup: starts
- Application startup → Configuration: loads settings
- Application startup → Database manager: initializes
- Application startup → Main window: opens
- Instructor → Course selection: selects course
- Course selection → Database manager: reads and creates courses
- Instructor → Student registration: registers students
- Student registration → Camera: captures image
- Student registration → Face recognition: detects faces
- Student registration → Database manager: adds student
- Instructor → Attendance capture: marks attendance
- Attendance capture → Camera: captures frame
- Attendance capture → Face recognition: matches faces
- Attendance capture → Database manager: records attendance
- Instructor → Engagement tracking: tracks engagement
- Engagement tracking → Camera: reads frames
- Engagement tracking → Pose detection: detects raises
- Engagement tracking → Audio processor: records questions
- Audio processor → OpenAI APIs: transcribes and classifies
- Engagement tracking → Database manager: logs engagement
- Main window → Face recognition: recognizes students
- Main window → Pose detection: tracks student actions
- Main window → OpenAI APIs: classifies relevance
- Main window → Database manager: records and reads results
- Database manager → MongoDB: reads and writes
- Main window → Student details: shows details