A QR-based attendance system designed to automate and simplify attendance tracking for educational institutions and organisations.
- Overview
- Features
- SDG Alignment
- Prerequisites
- Installation
- Usage
- Testing
- Technologies
- Contributing
- Authors
- Acknowledgements
- References
- Project Link
In the modern academic landscape, timely and accurate attendance tracking is vital. QuickAttend replaces manual sign-ins with QR codes, offering a fast, secure, and paperless solution. Administrators can generate unique codes for each student and session, while students simply scan to record their presence. Real-time data is stored centrally, enabling efficient reporting and analysis.
- Automated Attendance: Instant marking via QR code scanning.
- User Roles: Separate panels for administrators and students.
- Real-Time Reporting: Immediate access to attendance data.
- Attendance History: Students view their own records at any time.
- Defaulter List: Automatic generation of a list of students with low attendance.
- Secure Access: User authentication for all panels.
- Scalable Design: Suitable for small classrooms up to large institutions.
Goal | Alignment Point |
---|---|
SDG 4: Quality Education | QuickAttend fosters inclusive and equitable quality education by digitising attendance, reducing administrative burden, and ensuring reliable data for decision-making. |
- Web Server: PHP 8.0+ installed (Apache, Nginx, or similar).
- Database: MySQL 5.7+.
- Browser: Modern browser with camera support (for scanning).
- Tools: Composer (optional), npm (for front-end assets).
-
Clone the repository
git clone https://github.com/DebarjunChakraborty/FinalYearSem5Project.git cd FinalYearSem5Project
-
Configure the database
- Create a database named
attendance_system
. - Import the provided schema in
database/schema.sql
.
- Create a database named
-
Set environment variables
- Copy
.env.example
to.env
and update DB credentials.
- Copy
-
Install dependencies (if using Composer/npm)
composer install # for PHP dependencies npm install && npm run build # for front-end assets
-
Set folder permissions
chown -R www-data:www-data storage/ uploads/ chmod -R 775 storage/ uploads/
-
Launch the application
- Start your web server or run
php -S localhost:8000 -t public
.
- Start your web server or run
-
Administrator
- Log in at
/admin/login.php
. - Add student details, generate QR codes, and view attendance reports.
- Log in at
-
Student
- Register via
/student/register.php
(pending admin approval). - Log in at
/student/login.php
once approved. - Scan QR codes at
/student/scan.php
and view history at/student/history.php
.
- Register via
Testing was conducted using Selenium IDE to automate end-to-end scenarios:
- Login Tests: Verification of admin and student login flows.
- Registration Tests: Ensuring student registration and approval workflows.
- QR Scan Tests: Automated scanning and attendance marking.
- Reporting Tests: Generation and download of attendance reports.
- Frontend: HTML5, Bootstrap CSS, JavaScript, jQuery, HTML5-QRCode.
- Backend: PHP, MySQL.
- Testing: Selenium IDE.
Contributions are welcome! To propose changes, please fork the repository and open a pull request:
- Fork this repository.
- Create a new branch:
git checkout -b feature/YourFeature
. - Commit your changes:
git commit -m 'Add YourFeature'
. - Push to the branch:
git push origin feature/YourFeature
. - Open a pull request describing your changes.
- Debarjun Chakraborty – Roll No. TCS2425012
- Prof. Maya Nair (Project Guide)
- Dr. Manoj Singh (Head of Department)