Back to Projects page

Innovating Attendance Tracking with RFID, IoT, and Full-Stack Solutions

Started February 2025 - Ended May 2025
Flutter
Flutter
Dart
Dart
FastAPI
FastAPI
Python
Python
Laravel
Laravel
PHP
PHP
React.js
React.js
TypeScript
TypeScript
JavaScript
JavaScript
Electron.js
Electron.js
HTML5
HTML5
CSS3
CSS3
Tailwind CSS
Tailwind CSS
MySQL
MySQL
Swagger
Swagger
RabbitMQ
RabbitMQ
Docker
Docker
Hostinger (VPS)
Hostinger (VPS)
Raspberry Pi
Raspberry Pi
RFID
RFID
Semaphore
Semaphore
Gradle
Gradle
GitHub
GitHub
Git
Git
RFID Attendance Monitoring
An RFID-based attendance system for kindergarten students, integrating IoT, SMS notifications, facial recognition, and mobile applications for seamless parent and admin monitoring.

Introduction

This project was commissioned by a client to address the need for a more efficient and secure attendance system for kindergarten students. Traditional logbooks and manual tracking often caused delays and lacked transparency for parents and administrators. By combining IoT devices with RFID technology, we built a system that instantly logs attendance when students scan their RFID tags. A mobile app for parents, a web-based dashboard for administrators, and a desktop Electron app for reporting and data management created a fully integrated ecosystem. The solution not only streamlined attendance but also enhanced security and communication through real-time notifications.

Objectives

The core objective was to modernize attendance monitoring for kindergartens while keeping parents and administrators informed in real time. Specific goals included: Implementing RFID-based scanning via Raspberry Pi for instant attendance logging. Developing a mobile app with Flutter for parents to monitor attendance and receive emergency alerts. Building a full-stack web dashboard with Laravel, React.js, and FastAPI for administrators. Integrating Semaphore SMS API for delivering notifications of emergencies and daily attendance logs. Ensuring reliability and scalability by introducing RabbitMQ for message queuing and fallback handling. Conducting code reviews and collaborating with another developer on the Electron desktop app to ensure maintainable and high-quality code.

Challenges

A major challenge was ensuring the system could handle real-time synchronization between IoT devices, backend services, and user-facing apps without data loss. Another hurdle was implementing secure facial recognition with Python libraries to cross-verify RFID scans, while keeping it lightweight enough for practical deployment. On the communication side, configuring Semaphore SMS to handle high-volume notifications during emergencies required careful load balancing. Designing a unified system where web, mobile, and desktop applications worked together seamlessly also demanded thorough architectural planning and clear coordination with teammates.

Overcoming Challenges

To tackle real-time issues, RabbitMQ was implemented as a reliable message broker, ensuring consistent data flow between IoT devices and backend APIs. For security and validation, facial recognition preprocessing was optimized with Python to ensure accuracy without significant performance cost. Docker containers were used to standardize deployments across different environments. The Semaphore SMS API integration was enhanced with retry and fallback mechanisms to guarantee message delivery even under network failures. Cross-platform consistency was achieved by carefully separating concerns: the Flutter app for parents focused on usability, while the Electron app for administrators prioritized report generation and management features. As part of this, I actively coordinated with another developer on the Electron app, reviewing code and aligning on best practices to keep the desktop solution stable and maintainable.

Technology Used

The system combined multiple technologies into a robust ecosystem. Raspberry Pi with an RFID module served as the entry point for attendance logging. FastAPI and Laravel powered the backend services, while React.js handled the dynamic web dashboard. Flutter and Dart were used to build the mobile app for parents. Electron.js provided a desktop solution for administrators to manage records and generate attendance reports. Semaphore delivered critical SMS notifications, and RabbitMQ ensured reliable communication between services. Supporting technologies like Docker, Hostinger VPS, and GitHub completed the ecosystem.

Skills Learned and Demonstrated

This project strengthened my ability to design end-to-end IoT solutions that integrate hardware, backend, and frontend components. I gained hands-on experience with RFID modules, facial recognition in Python, and queue-based architectures using RabbitMQ. On the software side, I improved my skills in building cross-platform applications with Flutter and Electron, and in developing secure APIs with Laravel and FastAPI. Managing deployment with Docker and VPS hosting also gave me valuable DevOps exposure. Additionally, I practiced code review and collaboration with another developer, ensuring that the Electron desktop app was built with clean, maintainable code. Beyond technical skills, I deepened my ability to manage system integrations and deliver client-commissioned solutions that balance usability, scalability, and security.

Conclusion

The RFID-Based Attendance Monitoring with IoT project successfully redefined how kindergarten attendance is tracked. Parents could now receive real-time updates, while administrators gained powerful tools to monitor and analyze student data. The combination of IoT hardware, robust backend systems, and user-friendly apps created a secure, scalable solution that addressed both convenience and safety. Looking forward, the system could be expanded with features like biometric verification or cloud-based analytics. Overall, this project demonstrated how thoughtful use of modern technologies, combined with collaborative development practices like code review, can deliver meaningful impact in education and childcare.

Gallery

Gallery image 1
The RFID attendance system generating a detailed PDF report.

More Projects

Events Tabulation System

Events Tabulation System

View Project
AI Sentiment Analysis for Student Feedback

AI Sentiment Analysis for Student Feedback

View Project
Events Management System

Events Management System

View Project