A Django-based Attendance Management System that allows teachers to manage courses, enroll students, and track attendance efficiently.
The system provides a dashboard where teachers can create courses, enroll students, and monitor attendance statistics including total classes attended and attendance percentage.
- Teacher and Admin authentication
- Dashboard displaying created courses
- Create and manage courses
- View course details and enrolled students
- Enroll students from an existing student list
- Create and enroll new students simultaneously
- Automatic student database storage for future use
- Attendance tracking per student
- Automatic attendance percentage calculation
- Simple and organized dashboard interface
The system is designed primarily for teachers to manage attendance for their courses.
Only Teachers and Admins are able to log in to the system.
After logging in, users are presented with a dashboard that displays all the courses they have created.
The dashboard shows:
- Course Code
- Course Name
- Students Enrolled
- Semester
- Year
- Teacher
Teachers can also add new courses directly from the dashboard.
When a course is opened, the teacher can view detailed information about that course including:
- Course Name
- Year
- Semester
- Number of students enrolled
Example header:
Course Name — Course Code
Semester: X | Year: X | Students: X
Each course page shows a list of enrolled students with the following information:
| Roll No | Name | Attendance | Percentage |
|---|---|---|---|
| Student Roll Number | Student Name | Classes Attended | Attendance % |
Attendance is displayed as:
Attendance: Classes Attended / Total Classes
Example:
Attendance: 2 / 3
Percentage: 66.67%
Teachers have two options when adding students to a course.
If the student already exists in the database, the teacher can select the student from a dropdown list and enroll them directly into the course.
If the student does not exist in the database, the teacher can:
- Enter the student's Roll Number
- Enter the Student Name
- Create the student and enroll them into the course at the same time
Once created, that student becomes part of the system database and can later be enrolled in other courses without creating a new record.
Teachers can take attendance for a course. The system keeps track of:
- Total number of classes conducted
- Number of classes attended by each student
- Attendance percentage
The percentage is automatically calculated using:
Attendance Percentage = (Classes Attended / Total Classes) * 100
Backend
Django
Frontend
HTML
CSS
Bootstrap
Database
SQLite (default Django database)
Authentication
Django Authentication System
AMS/
│
├── ams/ # Main Django project
├── attendance/ # Attendance management app
├── templates/ # HTML templates
├── static/ # CSS and static assets
├── db.sqlite3
├── manage.py
└── README.md
git clone https://github.com/cosmos-creator/AMS.git
cd AMSpython -m venv venvActivate the environment.
venv\Scripts\activatesource venv/bin/activatepip install -r requirements.txtpython manage.py migratepython manage.py createsuperuserpython manage.py runserverOpen the application in your browser:
http://127.0.0.1:8000/
- Student login portal
- Export attendance reports (CSV / Excel)
- Attendance analytics and graphs
- Bulk student upload
- Email notifications
- Improved responsive UI
This project is intended for educational purposes and can be modified or extended as needed.