The QR Code Attendance System is a web-based application designed to track visitors' attendance when using the Makerspace room. The system simplifies attendance management by leveraging QR codes for streamlined check-ins.
-
QR Code Scanning: Visitors can scan a QR code to register their attendance.
-
Confirmation Screen: Displays a confirmation message upon successful check-in.
-
Dashboard Overview: View total visitor count (all-time) and filter attendance records by date.
-
Filtered Data: Retrieve and display attendance records for a specific date.
-
Frontend:
-
HTML, CSS, JavaScript
-
EJS (Embedded JavaScript Templates) for dynamic rendering
-
-
Backend:
- Node.js with Express.js framework
-
Database:
- MongoDB for storing visitor data
-
Visitor Check-In:
- A visitor scans the QR code using their device.
- Their attendance details (timestamp and unique visitor ID) are recorded in the database.
-
Admin Dashboard:
- Admins log in to the dashboard to view attendance records.
- They can filter visitor records by date or view the total number of visitors.
- Clone the repository:
git clone https://github.com/ro0opy/QR-Code-Attendance-System
- Navigate to the project directory:
cd qr-code-attendance-system
- Install dependencies:
npm install
-
Set up the MongoDB database:
-
Create a new MongoDB database.
-
Update the database connection string in the index.js file:
mongoose.connect('mongodb+srv://<username>:<password>@cluster.mongodb.net/attendanceDB', { useNewUrlParser: true, useUnifiedTopology: true, });
-
-
Start the server:
node index.js
- Access the application in your browser:
http://localhost:3000
qr-code-attendance-system/
├── views/
│ ├── admin.ejs # Admin dashboard template
│ ├── index.ejs # Home page template
│ ├── success.ejs # Success message after check-in
├── public/
│ ├── css/ # Static CSS files
│ ├── js/ # Static JavaScript files
├── models/
│ ├── visitor.js # Mongoose schema for visitors
├── index.js # Main server file
├── package.json # Project metadata and dependencies