A robust backend solution built using Django and Django REST Framework to manage classroom attendance via QR code scanning. Replaces outdated manual processes with secure, digital automation.
Feature | Description | Permissions |
---|---|---|
User Authentication | JWT-based secure login | Register, Login, Token refresh |
Class Management | Teachers create/update/delete classes | Teacher only |
Enrollment | Students enroll in classes | Student only |
QR Code Generation | QR code per session UUID | Teacher only |
Attendance Tracking | Student scans QR to mark present | Student only |
Reports | Attendance summary by class/student | Both roles |
User
(Custom User Model)username
– stringemail
– stringpassword
– string (hashed)role
– choice (teacher/student)institution
– FK (optional)Classroom
name
– stringsubject
– stringteacher
– FK to UserEnrollment
student
– FK to Userclassroom
– FK to ClassroomSession
classroom
– FK to Classroomsession_id
– UUIDdate
– Dateqr_code_image
– Image fileAttendance
student
– FK to Usersession
– FK to Sessionstatus
– string ("present")timestamp
– DateTime