A simple and modern Student Attendance Management System built with Flask, SQLite, and Bootstrap.
- Login system for teachers
- View dashboard with attendance summary
- Mark attendance for any date
- View monthly and subject-wise reports
- Automatic attendance percentage calculation
- Login system for students
- View personal attendance dashboard
- Check attendance statistics
- View recent attendance history
- Clean and modern UI
- Responsive design
- Form validation
- Auto-save functionality
- SQLite database
- Session management
- Python 3.7 or higher
- pip package manager
-
Clone or download the project folder
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python app.py
-
Open in browser: Navigate to
http://localhost:5000
- Username:
teacher1 - Password:
password123
- Username: student's full name (for example:
Alice Johnson) - Password: common student password
student123
attendance-system/
├── app.py # Main Flask application
├── requirements.txt # Python dependencies
├── database/
│ └── schema.sql # Database schema and sample data
├── static/
│ ├── css/
│ │ └── style.css # Main stylesheet
│ └── js/
│ └── main.js # JavaScript functionality
└── templates/
├── base.html # Base template
├── login.html # Login page
├── teacher_dashboard.html # Teacher dashboard
├── student_dashboard.html # Student dashboard
├── mark_attendance.html # Attendance marking
└── reports.html # Reports page
- Login with teacher credentials
- View your classes on the dashboard
- Click "Mark Attendance" to take attendance
- Select date and mark students as Present/Absent/Late
- View reports to see monthly attendance statistics
- Login with student credentials (roll number)
- View your attendance dashboard
- Check your attendance percentage
- View recent attendance history
The system uses SQLite database with the following tables:
teachers- Teacher informationclasses- Class/subject informationstudents- Student recordsattendance- Attendance records
- Backend: Python Flask
- Database: SQLite
- Frontend: HTML5, CSS3, JavaScript
- UI Framework: Custom CSS with modern design
- Security: Password hashing, session management
To modify or extend the system:
- Database changes: Edit
database/schema.sql - Backend logic: Modify
app.py - Frontend: Update templates in
templates/folder - Styling: Edit
static/css/style.css - JavaScript: Update
static/js/main.js
- Database not found: The app automatically creates the database on first run
- Port already in use: Change the port in
app.py(line ending) - Login issues: Check credentials in database schema
Delete database/attendance.db and restart the app to recreate with sample data.
This project is open source and available under the MIT License.