Aplikasi Web Sistem Absensi Sekolah Berbasis QR Code adalah sebuah proyek yang bertujuan untuk mengotomatisasi proses absensi di lingkungan sekolah menggunakan teknologi QR code. Aplikasi ini dikembangkan dengan menggunakan framework CodeIgniter 4 dan didesain untuk mempermudah pengelolaan dan pencatatan kehadiran siswa dan guru.
- QR Code scanner. Setiap siswa/guru menunjukkan qr code kepada perangkat yang dilengkapi dengan kamera. Aplikasi akan memvalidasi QR code dan mencatat kehadiran siswa ke dalam database.
- Login petugas.
- Dashboard petugas. Petugas sekolah dapat dengan mudah memantau kehadiran siswa dalam periode waktu tertentu melalui tampilan yang disediakan.
- QR Code generator. Petugas yang sudah login akan men-generate qr code setiap siswa/guru secara otomatis. Setiap siswa akan diberikan QR code unik yang terkait dengan identitas siswa. QR code ini akan digunakan saat proses absensi.
- Ubah data absen siswa/guru. Petugas dapat mengubah data absensi setiap siswa/guru. Misalnya mengubah data kehadiran dari
tanpa keterangan
menjadisakit
atauizin
. - Tambah, Ubah, Hapus(CRUD) data siswa/guru.
- Tambah, Ubah, Hapus(CRUD) data kelas.
- Lihat, Tambah, Ubah, Hapus(CRUD) data petugas. (khusus petugas yang login sebagai
superadmin
). - Generate Laporan. Generate laporan dalam bentuk pdf.
- CodeIgniter 4
- Material Dashboard Bootstrap 4
- Myth Auth Library
- Endroid QR Code Generator
- ZXing JS QR Code Scanner
Siswa (Dengan Data Kelas) | Guru |
---|---|
Siswa | Guru |
---|---|
Generate QR | Generate Laporan |
---|---|
- Composer.
- PHP dan MySQL atau XAMPP versi 8.1+ dengan mengaktifkan extension
-intl
dan-gd
. - Pastikan perangkat memiliki kamera/webcam untuk menjalankan qr scanner. Bisa juga menggunakan kamera HP dengan bantuan software DroidCam.
- Unduh dan impor kode proyek ini ke dalam direktori proyek anda (htdocs).
- (Opsional) Konfigurasi file
.env
untuk mengatur parameter seperti koneksi database dan pengaturan lainnya sesuai dengan lingkungan pengembangan Anda. - (Opsional) Ganti/replace logo sekolah di
public/assets/img/logo_sekolah.jpg
. - (Opsional) Konfigurasi file
app/Config/App.php
untuk mengubah base url sesuai dengan nama folder project. - Penting
⚠️ . Install dependencies yang diperlukan dengan cara menjalankan perintah berikut di terminal:
composer install
- Buat database
db_absensi
di phpMyAdmin / mysql - Penting
⚠️ . Jalankan migrasi database untuk membuat struktur tabel yang diperlukan. Ketikkan perintah berikut di terminal:
php spark migrate --all
- Buka file
vendor/myth/auth/src/Config/Auth.php
. Lalu ubah baris berikut:
public $views = [
'login' => 'Myth\Auth\Views\login', // baris ini
'register' => 'Myth\Auth\Views\register',
'forgot' => 'Myth\Auth\Views\forgot',
'reset' => 'Myth\Auth\Views\reset',
'emailForgot' => 'Myth\Auth\Views\emails\forgot',
'emailActivation' => 'Myth\Auth\Views\emails\activation',
];
menjadi:
public $views = [
'login' => '\App\Views\admin\login', // ubah seperti ini agar login bisa diakses
'register' => 'Myth\Auth\Views\register',
'forgot' => 'Myth\Auth\Views\forgot',
'reset' => 'Myth\Auth\Views\reset',
'emailForgot' => 'Myth\Auth\Views\emails\forgot',
'emailActivation' => 'Myth\Auth\Views\emails\activation',
];
- Masih di file yang sama, ubah kedua baris berikut:
public $requireActivation = 'Myth\Auth\Authentication\Activators\EmailActivator';
public $activeResetter = 'Myth\Auth\Authentication\Resetters\EmailResetter';
ubah value menjadi null
:
public $requireActivation = null;
public $activeResetter = null;
- Jalankan web server.
- Lalu jalankan aplikasi di browser.
- Login menggunakan krendensial superadmin:
username : superadmin
password : 1234ikh123
- Izinkan akses kamera.
Dengan aplikasi web sistem absensi sekolah berbasis QR code ini, diharapkan proses absensi di sekolah menjadi lebih efisien dan terotomatisasi. Proyek ini dapat diadaptasi dan dikembangkan lebih lanjut sesuai dengan kebutuhan dan persyaratan sekolah Anda.
Jangan lupa beri star ya...⭐
Kami menerima kontribusi dari komunitas terbuka untuk meningkatkan aplikasi ini. Jika Anda menemukan masalah, bug, atau memiliki saran untuk peningkatan, silakan buat issue baru dalam repositori ini atau ajukan pull request.