Student Attendance Management System
General Objectives of the System
The Student Attendance Management System is designed to modernize the attendance tracking process in educational institutions. Its objectives include:
  - Implementing a barcode-based system for accurate and efficient attendance recording.
- Providing a mobile application for teachers to mark attendance using their device’s camera as a barcode scanner.
- Offering administrators comprehensive attendance reports and analytics for better decision-making.
- Enhancing administrative efficiency by reducing paperwork and saving time.
- Promoting data-driven insights into attendance patterns and student engagement.
- Ensuring data security and privacy through robust encryption and access controls.
Scopes and Limitations of the System
Scope
  - Integration of a barcode scanner for accurate attendance data capture without the need for immediate internet connectivity.
- Development of a mobile application for real-time attendance management by teachers.
- A user-friendly interface for administrators to manage attendance data and perform analysis.
- Customization and scalability to meet the needs of various educational institutions.
- Implementation of data security measures to protect sensitive information.
Limitations
  - Dependency on barcode technology and student identification cards.
- Network connectivity required for accessing historical attendance data via the mobile app.
- Camera permissions necessary for barcode scanning on mobile devices.
- Initial setup and training for effective system usage.
- Potential compatibility issues with older hardware.
User Authentication
  - Login Form: Secure access for teachers and administrators.
    
      - Username and password fields.
- Password recovery options.
- Multi-factor authentication support.
 
Main Menu
  - Dashboard: Overview of attendance statistics, quick access to common tasks.
- Attendance Management: Interface for real-time attendance tracking.
- Reporting: Generation of detailed attendance reports and analytics.
- User Management: Administration of user accounts and permissions.
- Settings: Configuration of system preferences and barcode settings.
Student Attendance Management
  - Attendance Entry Form: For manual attendance entry if necessary.
    
      - Date, class, and student selection options.
- Present/absent toggles.
 
- Barcode Scanning Interface: Mobile app feature for marking attendance.
    
      - Real-time barcode scanning and data submission.
- Offline mode for later syncing when connectivity is available.
 
Login Logs Management
  - Login Logs Viewer: Monitor user access and authentication events.
    
      - Filterable logs by date, user, and event type.
- Export functionality for logs.
 
Reports and Analytics
  - Attendance Reports Form: Customizable reports based on various criteria.
    
      - Filter by date range, class, student, and attendance status.
- Visualization of attendance trends and patterns.
 
- Absenteeism Analysis Module: Insights into absenteeism rates and potential causes.
    
      - Identification of at-risk students based on attendance history.
- Recommendations for interventions and policy adjustments.
 
System Administration
  - User Account Management Form: Creation and modification of user profiles.
    
      - Role-based access control settings.
- User activity tracking.
 
- System Settings Form: Configuration of global system parameters.
    
      - Backup and restore options.
- Data retention.
 
Database Tables Overview
Table: Users
| Column       | Data Type | Description                     |
|————–|———–|———————————|
| Id           | SERIAL    | Primary Key, Auto Increment     |
| Username     | VARCHAR   | Username                        |
| Passwordhash | VARCHAR   | Password Hash                   |
| Phonenumber  | VARCHAR   | Phone Number for recovery       |
| Role         | VARCHAR   | User Role (teacher/admin)       |
Table: Students
| Column          | Data Type | Description                  |
|—————–|———–|——————————|
| Id              | SERIAL    | Primary Key, Auto Increment  |
| Name            | VARCHAR   | Student Name                 |
| Course          | VARCHAR   | Course                       |
| Year            | VARCHAR   | Year                         |
| Section         | VARCHAR   | Section                      |
| StudentId       | Text      | Student Id                   |
| Archived        | bool      | Archived Student             |
Table: Attendance
| Column    | Data Type | Description                                         |
|———–|———–|—————————————————–|
| Id        | SERIAL    | Primary Key, Auto Increment                         |
| Name      | VARCHAR   | Attendance Name                                     |
| Course    | VARCHAR   | Course                                              |
| Year      | VARCHAR   | Year                                                |
| Section   | VARCHAR   | Section                                             |
| Status    | BOOLEAN   | Attendance Status (true=present, false=absent)      |
| Archived  | BOOLEAN   | Deleted Status (true=dont show to user, false=show) |
| Date      | DATE      | Attendance Date                                     |
| Time      | TIME      | Attendance Time                                     |
| StudentId | INTEGER   | Foreign Key, Students.StudentId                     |
Table: LoginLogs
| Column     | Data Type | Description                       |
|————|———–|———————————–|
| Id         | SERIAL    | Primary Key, Auto Increment       |
| UserId     | INTEGER   | Foreign Key, Users.Id             |
| Username   | VARCHAR   | Username                          |
| LoginTime  | TIMESTAMP | Login Time                        |
| LogoutTime | TIMESTAMP | Logout Time                       |
| Date       | Date      | Login Date                        |
| Role       | VARCHAR   | User Role (teacher/admin)         |
| Remark     | VARCHAR   | Admins Login Remark               |
| Archived   | bool      | Archived LoginLogs                |
—