How suryam700/intelligent_ai_attendence_system-face_and_voice works
SnapClass is a Streamlit face- and voice-enabled attendance system with student and teacher portals. Students register with a face profile and optional voice embedding, sign in by face, enroll in subjects, and review attendance. Teachers manage subjects, scan classroom photos or recorded audio for attendance, and review attendance records. The excerpts show these workflows and Supabase access; teacher-screen source is partial, so some screen-to-dialog wiring is not represented.
Main entry points: app.py App router · student_screen.py Student portal · teacher_screen.py Teacher portal · db.py Data access
Components 15
App and portals
- App router
app.py - Portal selection
src/screens/home_screen.py
Student workflows
- Student portal
src/screens/student_screen.py - Subject enrollment
src/components/dialog_enroll.py - Join-code enrollment
src/components/dialog_auto_enroll.py
Teacher workflows
- Teacher portal
src/screens/teacher_screen.py - Class photo capture
src/components/dialog_add_photo.py - Voice attendance
src/components/dialog_voice_attendance.py - Attendance results
src/components/dialog_attendance_result.py
Recognition pipelines
- Face recognition
src/pipelines/face_pipeline.py - Voice recognition
src/pipelines/voice_pipeline.py
Persistence
- Data access
src/database/db.py - Database client config
src/database/config.py
Other components
- Student or teacher
- Supabase
Connections 22
- Student or teacher → App router: opens
- App router → Portal selection: shows portal
- App router → Student portal: routes student
- App router → Teacher portal: routes teacher
- App router → Join-code enrollment: dispatches join code
- Student portal → Face recognition: checks face
- Student portal → Voice recognition: embeds enrollment voice
- Student portal → Data access: reads and creates profiles
- Student portal → Subject enrollment: opens enrollment
- Subject enrollment → Data access: enrolls student
- Join-code enrollment → Supabase: looks up subject
- Join-code enrollment → Subject enrollment: uses enrollment action
- Teacher portal → Class photo capture: opens photo capture
- Teacher portal → Face recognition: analyzes photos
- Teacher portal → Data access: loads teacher data
- Teacher portal → Supabase: reads enrollment data
- Voice attendance → Voice recognition: processes audio
- Voice attendance → Supabase: loads enrolled voices
- Voice attendance → Attendance results: shows results
- Data access → Database client config: gets client
- Database client config → Supabase: configures connection
- Data access → Supabase: reads and writes