Skip to content

ikhsan3adi/absensi-sekolah-qr-code

Aplikasi Web Sistem Absensi Sekolah Berbasis QR Code

Continuous Integration GitHub Repo stars GitHub watchers GitHub forks YouTube Video Views YouTube Video Likes

Preview

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.

Instalasi & Cara Penggunaan

Fitur Utama

  • 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 & downloader. Petugas yang sudah login akan men-generate dan/atau mendownload qr code setiap siswa/guru. 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 menjadi sakit atau izin.
  • 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.

Screenshots

Tampilan Halaman QR Scanner

QR Scanner view

Tampilan Absen Masuk dan Pulang

QR Scanner absen

Tampilan Login Petugas

Login

Tampilan Dashboard Petugas

Dashboard

Tampilan CRUD Data Absen

Siswa (Dengan Data Kelas) Guru
CRUD Absen Siswa CRUD Absen Guru

Tampilan Ubah Data Kehadiran

Ubah Data Kehadiran

Tampilan CRUD Data Siswa & Guru

Siswa Guru
CRUD Data Siswa CRUD Data Guru

Tampilan CRUD Data Kelas & Jurusan

CRUD Data Siswa

Tampilan Generate QR Code dan Generate Laporan

Generate QR Generate Laporan
Generate QR Generate Laporan

Cara Penggunaan

Caution

Persyaratan

  • Composer.
  • PHP 8.1+ dan MySQL/MariaDB 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.

Instalasi

  • Clone/Download source code proyek ini.

  • Install dependencies yang diperlukan dengan cara menjalankan perintah berikut di terminal:

    composer install
  • Jika belum terdapat file .env, rename file .env.example menjadi .env

  • Buat database db_absensi(sesuaikan dengan yang terdapat di .env) di phpMyAdmin / mysql

  • Jalankan migrasi database untuk membuat struktur tabel yang diperlukan. Ketikkan perintah berikut di terminal:

    php spark migrate --all
  • Jalankan web server (contoh Apache, XAMPP, etc)

  • Atau gunakan php spark serve (atur baseURL di .env menjadi http://localhost:8080/ terlebih dahulu).

  • Lalu jalankan aplikasi di browser.

  • Login menggunakan krendensial superadmin:

    username : superadmin
    password : superadmin
  • Izinkan akses kamera.

Tip

Konfigurasi

  • Konfigurasi file .env untuk mengatur base url(terutama jika melakukan hosting), koneksi database dan pengaturan lainnya sesuai dengan lingkungan pengembangan Anda.

  • Untuk mengubah identitas nama sekolah, buka file konfigurasi app/Config/AbsensiSekolah.php dan ubah pada:

    const SCHOOL_NAME = 'SMK 1 Indonesia';
  • Ganti/replace logo sekolah di public/assets/img/logo_sekolah.jpg.

  • Jika ingin mengubah email, username & password dari superadmin, buka file app\Database\Migrations\2023-08-18-000004_AddSuperadmin.php lalu ubah & sesuaikan kode berikut:

    // INSERT INITIAL SUPERADMIN
    $email = '[email protected]';
    $username = 'superadmin';
    $password = 'superadmin';

Kesimpulan

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...⭐

Contributing

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.

Donasi

Donate paypal Donate saweria

Lisensi

GitHub license

Authors