Header Banner

Aplikasi Absensi siswa

Teknologi yang Digunakan

  • PHP 8.3+
  • MySQL / MariaDB
  • Bootstrap 5
  • AdminLTE 4 atau CoreUI
  • JavaScript ES6
  • AJAX Fetch API
  • SweetAlert2
  • DataTables
  • Chart.js
  • Composer (autoload)
  • PHPMailer
  • QR Code Library
  • DomPDF

Struktur Folder

student-attendance/
│
├── app/
│   ├── Core/
│   ├── Helpers/
│   ├── Libraries/
│   ├── Middleware/
│   ├── Config/
│   └── Modules/
│
├── public/
│   ├── assets/
│   ├── uploads/
│   └── index.php
│
├── storage/
│
├── routes/
│
├── vendor/
│
└── database/

Struktur Modules

Modules/

Dashboard/

Auth/

Master/

Absensi/

Kelas/

Siswa/

Guru/

Jadwal/

Mapel/

Laporan/

Pengaturan/

Api/

Whatsapp/

Notification/

Backup/

Logs/

Setiap module berdiri sendiri.

Contoh

Modules/

Siswa/

Controller/
Model/
Views/
Routes/
Config/
Assets/

Module Login

Menu

  • Login
  • Logout
  • Lupa Password
  • OTP Email
  • Ganti Password
  • Profile

Role

  • Super Admin
  • Kepala Sekolah
  • Guru
  • Wali Kelas
  • Tata Usaha
  • Orang Tua
  • Siswa

Module Dashboard

Dashboard berbeda sesuai role.

Widget

  • Total Siswa
  • Total Guru
  • Total Kelas
  • Hadir Hari Ini
  • Terlambat
  • Izin
  • Sakit
  • Alpha

Grafik

  • Grafik Kehadiran
  • Grafik Per Kelas
  • Grafik Bulanan
  • Statistik Absensi

Module Master Siswa

Data

  • NIS
  • NISN
  • Nama
  • Jenis Kelamin
  • Tempat Lahir
  • Tanggal Lahir
  • Agama
  • Alamat
  • Nomor HP
  • Orang Tua
  • Foto
  • QR Code
  • RFID
  • Status

Fitur

  • Import Excel
  • Export Excel
  • Export PDF
  • Cetak Kartu
  • Upload Foto

Module Guru

Data Guru

  • NIP
  • Nama
  • Mata Pelajaran
  • Email
  • HP
  • Foto

Module Kelas

Master

  • Tingkat
  • Jurusan
  • Ruang
  • Wali Kelas

Module Mata Pelajaran

  • Nama
  • Kode
  • Jam
  • Guru

Module Jadwal

Jadwal mengajar

  • Hari
  • Jam
  • Guru
  • Kelas
  • Mapel

Module Absensi

Jenis Absensi

  • Hadir
  • Terlambat
  • Izin
  • Sakit
  • Alpha

Metode Absensi

  • Manual
  • QR Code
  • RFID
  • NFC
  • Fingerprint API
  • Face Recognition API
  • GPS
  • Self Check-in

Alur Absensi

Login Guru

Pilih Kelas

Pilih Mata Pelajaran

Pilih Jam

Daftar Siswa

Centang Kehadiran

Simpan

Notifikasi Orang Tua


Absensi QR Code

Setiap siswa memiliki QR unik.

Scan

Validasi

Cek Jadwal

Cek Jam

Simpan Absensi

Kirim Notifikasi


Module Laporan

Laporan

  • Harian
  • Mingguan
  • Bulanan
  • Semester
  • Tahunan

Filter

  • Kelas
  • Guru
  • Mata Pelajaran
  • Siswa

Export

  • Excel
  • PDF
  • Print

Module Orang Tua

Dashboard

  • Kehadiran Anak
  • Grafik
  • Riwayat
  • Notifikasi

Module WhatsApp Gateway

Otomatis mengirim

Ananda :

Nama :
Kelas :

Hari ini :

✔ Hadir

Jam Masuk :
07:03

Terima kasih.

Notifikasi

  • Hadir
  • Terlambat
  • Tidak Hadir
  • Izin
  • Sakit

Module API

REST API

GET /api/student

POST /api/attendance

GET /api/class

GET /api/report

Authentication

  • JWT
  • API Key

Module Pengaturan

Sekolah

  • Nama
  • Logo
  • Alamat
  • Tahun Ajaran
  • Semester

Module Backup

  • Backup Database
  • Restore
  • Download

Module Audit Log

Mencatat

  • Login
  • Logout
  • Edit Data
  • Hapus
  • Import
  • Export
  • Absensi

Hak Akses (RBAC)

ModulAdminGuruWali KelasOrang TuaSiswa
Dashboard
SiswaπŸ‘πŸ‘πŸ‘
GuruπŸ‘
AbsensiπŸ‘πŸ‘
LaporanπŸ‘πŸ‘
Pengaturan

Database Utama

users
roles
permissions
user_roles

students
parents
teachers

classes
subjects
schedules

attendance
attendance_details

school_years
semesters

notifications

audit_logs

settings

uploads

Fitur Modern

  • Responsive Mobile First
  • Progressive Web App (PWA)
  • Dark Mode
  • Dashboard Interaktif
  • AJAX Tanpa Reload
  • Auto Save Form
  • Real-time Notification
  • QR Code & Barcode
  • Integrasi WhatsApp Gateway
  • Import/Export Excel
  • Export PDF
  • REST API
  • Multi Role & Multi User
  • Audit Trail
  • Soft Delete
  • Backup Otomatis
  • Activity Log
  • Cache Management
  • CSRF Protection
  • Rate Limiting Login
  • Enkripsi Password (bcrypt/Argon2)
  • Logging Error Terpusat
  • Modular Plugin System untuk penambahan fitur baru tanpa mengubah inti aplikasi.

Rekomendasi Arsitektur

Untuk aplikasi yang akan terus berkembang, gunakan pola Modular MVC sehingga setiap fitur (misalnya Absensi, Siswa, Guru, atau Laporan) memiliki Controller, Model, Views, Routes, dan Config sendiri. 

Posting Komentar

0 Komentar

Chat WhatsApp