How raihanbrliantoni-arch/presentech works
PresenTech is a school RFID/IoT attendance system: ESP32 devices submit card taps and heartbeats to a Laravel API, which records attendance and serves role-based React dashboards. Admins maintain school and device data; teachers and students view schedules and attendance, and can request corrections. The README documents automation, reporting, exports, backups, and optional MQTT. Several controllers and dashboard panels are unsampled, so those branches are represented at their existing directory paths; edges rely on README statements or visible source references.
Main entry points: api.php REST routes · App.jsx React app shell · AttendanceController.php Attendance API · DeviceController.php Device API
Components 25
Web application
- React app shell
PresenTech-frontend/src/App.jsx - Admin dashboard
PresenTech-frontend/src/dashboard-admin/AdminDashboard.jsx - Teacher dashboard
PresenTech-frontend/src/dashboard-guru/GuruDashboard.jsx - Student dashboard
PresenTech-frontend/src/dashboard-siswa/SiswaDashboard.jsx - API clients
PresenTech-frontend/src/api
Laravel API
- REST routes
PresenTech-Backend/routes/api.php - Authentication and roles
PresenTech-Backend/app/Http/Controllers/Api/AuthController.php - School management
PresenTech-Backend/app/Http/Controllers/Api
Attendance domain
- Attendance API
PresenTech-Backend/app/Http/Controllers/Api/AttendanceController.php - Attendance corrections
PresenTech-Backend/app/Http/Controllers/Api/AttendanceCorrectionController.php - Reports and exports
PresenTech-Backend/app/Http/Controllers/Api/ReportController.php - Device attendance recorder
PresenTech-Backend/app/Support/DeviceAttendanceRecorder.php - Attendance records
PresenTech-Backend/app/Models/Attendance.php - Student records
PresenTech-Backend/app/Models/Student.php
Device and operations
- Device API
PresenTech-Backend/app/Http/Controllers/Api/DeviceController.php - Device runtime
PresenTech-Backend/app/Support/DeviceRuntime.php - Device registry
PresenTech-Backend/app/Models/Device.php - MQTT bridge
PresenTech-Backend/app/Support/MqttDeviceBus.php - Attendance and offline automation
PresenTech-Backend/app/Console/Commands - System settings and backup
PresenTech-Backend/app/Http/Controllers/Api/SystemBackupController.php
Other components
- Admin
- Teacher
- Student
- ESP32 RFID device
- MySQL database
Connections 32
- Admin → React app shell: uses
README.md - Teacher → React app shell: uses
README.md - Student → React app shell: uses
README.md - ESP32 RFID device → REST routes: sends taps and heartbeat
README.md - ESP32 RFID device → MQTT bridge: may use MQTT
README.md - React app shell → Admin dashboard: renders
PresenTech-frontend/src/App.jsx - React app shell → Teacher dashboard: renders
PresenTech-frontend/src/App.jsx - React app shell → Student dashboard: renders
PresenTech-frontend/src/App.jsx - Admin dashboard → API clients: requests data
PresenTech-frontend/src/dashboard-admin/AdminDashboard.jsx - Teacher dashboard → API clients: requests data
PresenTech-frontend/src/dashboard-guru/GuruDashboard.jsx - Student dashboard → API clients: requests data
PresenTech-frontend/src/dashboard-siswa/SiswaDashboard.jsx - API clients → REST routes: calls API
README.md - REST routes → Authentication and roles: routes to
PresenTech-Backend/routes/api.php - REST routes → Attendance API: routes to
PresenTech-Backend/routes/api.php - REST routes → Attendance corrections: routes to
PresenTech-Backend/routes/api.php - REST routes → Reports and exports: routes to
PresenTech-Backend/routes/api.php - REST routes → Device API: routes to
PresenTech-Backend/routes/api.php - REST routes → School management: routes to
PresenTech-Backend/routes/api.php - REST routes → System settings and backup: routes to
PresenTech-Backend/routes/api.php - Attendance API → Device attendance recorder: records device taps
PresenTech-Backend/app/Http/Controllers/Api/AttendanceController.php - Attendance API → Attendance records: reads and writes
PresenTech-Backend/app/Http/Controllers/Api/AttendanceController.php - Attendance API → Student records: resolves student
PresenTech-Backend/app/Http/Controllers/Api/AttendanceController.php - Reports and exports → Attendance records: reads records
PresenTech-Backend/app/Http/Controllers/Api/ReportController.php - Attendance corrections → Attendance records: updates attendance
PresenTech-Backend/app/Http/Controllers/Api/AttendanceCorrectionController.php - Device API → Device registry: updates device
PresenTech-Backend/app/Http/Controllers/Api/DeviceController.php - Device API → Device runtime: uses runtime
PresenTech-Backend/app/Http/Controllers/Api/DeviceController.php - Device API → MQTT bridge: publishes commands
PresenTech-Backend/app/Http/Controllers/Api/DeviceController.php - Attendance and offline automation → Attendance records: marks absences
README.md - Attendance and offline automation → Device registry: marks offline
README.md - System settings and backup → MySQL database: backs up database
README.md - Attendance API → MySQL database: persists attendance
README.md - Device API → MySQL database: persists device state
README.md