An advanced, modern, and highly scalable RFID-based attendance management system built for educational institutions and enterprise environments.
Presensia is a comprehensive hardware-integrated software solution designed to streamline attendance tracking. By bridging physical RFID keyboard emulators with a robust web application, it ensures precise, real-time logging of students or employees. The system replaces manual roll calls with an automated pipeline featuring instant WhatsApp notifications, Google Sheets synchronization, and intelligent discipline evaluation algorithms.
Built with performance and an elegant UI in mind, Presensia provides an enterprise-class administrative dashboard tailored for decision-makers.
- Real-Time RFID Scanning: Seamlessly integrates with USB RFID readers (Keyboard Emulators) via an optimized Livewire kiosk frontend, complete with double-tap prevention and instant visual feedback.
- Executive Dashboard & Analytics: Gain insights at a glance with real-time Statistic Cards, a 7-day Attendance Trend (Line Chart), and a proportional Status Distribution (Doughnut Chart).
- Discipline Evaluation System (SAW): Automatically ranks individuals based on their discipline score using the Simple Additive Weighting (SAW) algorithm (On-Time: 100, Sick/Leave: 50, Late: 40, Invalid/Alpa: 0).
- Comprehensive Reporting & Export: Easily filter attendance logs by date range and classroom, and export the results to formatted Excel (
.xlsx) documents for official archives. - Google Sheets Integration: A built-in action to securely import member data from external Google Sheets URLs.
- WhatsApp Integration Ready: Integrated UI hooks designed to trigger instant WhatsApp message alerts for parents or management.
Presensia is powered by a modern, robust, and developer-friendly PHP ecosystem:
- Framework: Laravel 12 (PHP 8.2+)
- Admin Panel & UI: Filament PHP v3
- Frontend Interactivity: Livewire 3 & Alpine.js
- Styling: Tailwind CSS
- Export Package:
pxlrbt/filament-excel
Before proceeding with the installation, ensure your server or local environment meets the following requirements:
- PHP:
^8.2or higher - Composer: Dependency Manager for PHP
- Node.js & NPM: For building frontend assets (Tailwind CSS)
- Database: MySQL, PostgreSQL, or SQLite
- Hardware (Optional): USB RFID Card Reader (Keyboard Emulator mode)
Follow these step-by-step instructions to get a copy of the project up and running on your local machine for development and testing purposes.
git clone https://github.com/your-username/presensia.git
cd presensiacomposer installnpm install
npm run buildDuplicate the .env.example file to create your local .env file:
cp .env.example .envOpen the .env file and configure your database credentials:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=presensia
DB_USERNAME=root
DB_PASSWORD=php artisan key:generateCreate the necessary database tables:
php artisan migrateTo access the executive dashboard, you need to create an administrative user:
php artisan make:filament-userFollow the interactive prompt to set your Name, Email, and Password.
Start the Laravel local development server:
php artisan serveAccessing the System:
- RFID Kiosk / Frontend:
http://localhost:8000 - Admin Dashboard:
http://localhost:8000/admin(Log in using the credentials created in Step 7).
Crafted with ❤️ for better discipline and productivity.