A Smart RFID-Based Attendance Tracking System that seamlessly integrates Arduino hardware, Firebase Cloud Firestore, and a Java Swing desktop application for real-time attendance monitoring and record management.
This project showcases expertise in IoT, Cloud Systems, and Desktop Software Engineering — perfect for academic, enterprise, and institutional environments.
| Layer | Technology Used |
|---|---|
| Hardware | Arduino UNO, MFRC522 RFID Reader, Buzzer, LCD Display |
| Desktop App | Java (Swing + JavaFX components), Serial Communication |
| Cloud Backend | Firebase Firestore |
| Build Tool | Gradle |
| Version Control | Git & GitHub |
- ✅ RFID-based student identification & attendance logging
- ☁️ Real-time synchronization with Firebase Firestore
- 🖥️ Modern Java Swing UI with Light/Dark Mode toggle
- 🕒 Live digital clock on dashboard
- 📸 Student photo popup when RFID is scanned
- 📊 Export attendance to CSV
- 🔐 Secure serial communication with Arduino
- 🔔 Visual & sound alerts on successful scans
[RFID Tag] → [Arduino UNO + MFRC522] → [Serial Port] → [Java Desktop App] → [Firebase Firestore]
This ensures instant cloud updates immediately after each scan.
- Java JDK 17+
- Gradle (or use included wrapper)
- Arduino IDE
- Firebase project with Firestore enabled
git clone https://github.com/Neric-wizard/rfid-attendance-system.git
cd rfid-attendance-systemPlace your Firebase service account key here:
src/main/resources/serviceAccountKey.json
./gradlew run- Upload the Arduino sketch from this repository
- Identify your serial port (e.g.,
COM4) - Ensure the Java application uses the same port
👤 Njeck Neric
💼 Software Engineer — IoT, Cloud & Desktop Systems
🌍 Buea, Cameroon
🔗 LinkedIn
🐙 GitHub
Licensed under the MIT License.
You are free to use, modify, and build on this project.
💬 “Innovative systems don’t just automate — they elevate efficiency.”
— Njeck Neric
