Git Product home page Git Product logo

ikhsan3adi / absensi-sekolah-qr-code Goto Github PK

View Code? Open in Web Editor NEW
189.0 5.0 70.0 25.12 MB

Sistem absensi siswa dan guru berbasis QR Code menggunakan CodeIgniter 4 ๐Ÿ”ฅ

Home Page: https://youtube.com/watch?v=E1ho6wRBIUs

License: GNU General Public License v3.0

PHP 94.02% JavaScript 5.67% Hack 0.01% HTML 0.30%
codeigniter codeigniter4 php smk ujikom ujikompetensi composer qrcode qrcode-generator qrcode-scanner

absensi-sekolah-qr-code's Introduction

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.
  • Import Banyak Siswa. Menggunakan CSV delimiter koma (,), Contoh: CSV.

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 konfigurasi nama sekolah, tahun ajaran logo sekolah dll sudah disediakan pengaturan (khusus untuk superadmin).

  • Logo Sekolah Rekomendasi 100x100px atau 1:1 dan berformat PNG/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

absensi-sekolah-qr-code's People

Contributors

dependabot[bot] avatar ikhsan3adi avatar janglapuk avatar kevindoni avatar nanda443 avatar reactmore avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

absensi-sekolah-qr-code's Issues

ambil models TipeUser tidak ditemukan

use App\Models\TipeUser;

untuk ambil models di atas ambil modelsnya dari mana ya kak soale tak cari ga ada di foldernya.sebelumnya terimakasih kak

Module Report

Saat generate laporan absensi, supaya di hari sabtu bisa terlampir pada saat generate report, dibagian mana ya yg perlu di tambahkan ?
existing report hanya sampai hari jumat saja.

bug composer

Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- codeigniter4/framework[4.0.0, ..., v4.4.3] require ext-intl * -> it is missing from your system. Install or enable PHP's intl extension.
- Root composer.json requires codeigniter4/framework ^4.0 -> satisfiable by codeigniter4/framework[4.0.0, ..., v4.4.3].

To enable extensions, verify that they are enabled in your .ini files:
- C:\xampp\php\php.ini
You can also run php --ini in a terminal to see which files are used by PHP in CLI mode.
Alternatively, you can run Composer with --ignore-platform-req=ext-intl to temporarily ignore these required extensions.
ini bagaimana ya

Tampilan jadi berubah

image
kenapa ada icon CodeIgniter dan tampilan jadi kelihatan element dan kotak gitu ya bang :(

[Trouble]

Screenshot 2024-05-15 at 14 44 39 Screenshot 2024-05-15 at 14 45 56

selalu error seperti ini padahal nama db dan user pass sudah sesuai

Agar tampilan camera lebih responsif di hp

Agar tampilan camera lebih responsif di hp
cari file di /app/Views/templates/starting_page_layout.php

ganti line 36 dan 37 menjadi

width: auto;
height: auto;

untuk yang mau mengaktifkan pilihan kamera
cari dan edit bagian /app/Views/templates/navbar.php

line ke 47 - 51

image

                  <!-- <h4 class="d-inline">Pilih kamera</h4>

                  <select id="pilihKamera" class="custom-select w-50 ml-2" aria-label="Default select example" style="height: 35px;">
                     <option selected>Select camera devices</option>
                  </select> -->

hilangkan tanda comment nya

QR Generator

mohon bantuannya... ketika saya klik generate QR tidak terjadi apa-apa, kemudian saya cari folder uploads di folder public tidak ada, mohon pencerahannya. terima kasih

[ERROR] error ketika melakukan migrasi data

Jelaskan bug tersebut

Screenshots
Screenshot 2024-04-22 at 01 04 36

Versi yang digunakan
Tuliskan versi yang didownload (contoh: v1.5.3). Jika download via zip/clone berikan informasi waktu saat download source code.

Versi PHP
Contoh PHP 8.2

php spark migrate error

ketika melakukan migrasi database menggunakan perintah; php spark migrate --all itu error
muncul seperti ini :
PHP Fatal error: Uncaught Error: Undefined constant "CodeIgniter\ENVIRONMENT" in D:\xampp\htdocs\absensi\vendor\codeigniter4\framework\system\CodeIgniter.php:595
Stack trace:
#0 D:\xampp\htdocs\absensi\vendor\codeigniter4\framework\system\CodeIgniter.php(207): CodeIgniter\CodeIgniter->bootstrapEnvironment()
#1 D:\xampp\htdocs\absensi\spark(83): CodeIgniter\CodeIgniter->initialize()
#2 {main}
thrown in D:\xampp\htdocs\absensi\vendor\codeigniter4\framework\system\CodeIgniter.php on line 595

Fatal error: Uncaught Error: Undefined constant "CodeIgniter\ENVIRONMENT" in D:\xampp\htdocs\absensi\vendor\codeigniter4\framework\system\CodeIgniter.php:595
Stack trace:
#0 D:\xampp\htdocs\absensi\vendor\codeigniter4\framework\system\CodeIgniter.php(207): CodeIgniter\CodeIgniter->bootstrapEnvironment()
#1 D:\xampp\htdocs\absensi\spark(83): CodeIgniter\CodeIgniter->initialize()
#2 {main}
thrown in D:\xampp\htdocs\absensi\vendor\codeigniter4\framework\system\CodeIgniter.php on line 595

mohon solusinya

Sort data & pagination

Saran :
fungsi sort data sesuai kebutuhan pengguna seperti sort by kehadiran / jam masuk / jam pulang / nis secara ascending maupun descending serta pagination agar website terlihat lebih rapi.

Scan QR | Internal Server Eror

Pada saat melakukan scanning barcode setelah proses Mencari pada bagian bawah terdapat tulisan Internal Server Error seperti gambar dibawah ini

Internal Server Eror

Cara mengetahui penyebab stuck saat generate QR Code, Whoops!, atau muncul `Internal server error` di halaman scan

Cara mengetahui penyebab terjadinya 500 Internal server error

Biasanya terjadi saat men-generate qr code progress bar tidak berjalan/stuck.
Muncul pesan Internal server error setelah scan qr code di halaman scan.

  • Ubah CI_ENVIRONMENT ke development di file .env:
CI_ENVIRONMENT = development
# CI_ENVIRONMENT = production
  • Di browser, pergi ke devtools atau tekan f12 lalu masuk ke tab console
  • Refresh halaman yang terdapat error (halaman generate qr / halaman scan)
  • Lalu lakukan aksi yang membuat error terjadi.

IMG-20230908-WA0011.jpg

  • Jika muncul error di console, klik tanda itu lalu lihat tab response (lihat gambar).

Screenshot from 2023-09-08 10-31-24.png

  • Jika tidak tahu cara memperbaiki sendiri error yang muncul, salin response yang muncul lalu buat issue baru dengan menyertai informasi tersebut.

[Ask]

Cara allow scan masuk lebih dari 1 kali, code yang mana ya ? yg perlu di updated

internal server error

ketika scan absen masuk dan pulang tidak menampilkan data yang ada,tetapi berjalan di database dengan baik

image

RouteCollection

CodeIgniter v4.4.3 Command Line Tool - Server Time: 2023-11-06 20:18:38 UTC+07:00

[TypeError]

CodeIgniter\Router\RouteCollection::__construct(): Argument #3 ($routing) must be of type Config\Routing, null given, called in C:\xampp-8.1.12\htdocs\absensi\vendor\codeigniter4\framework\system\Config\Services.php on line 618

at SYSTEMPATH\Router\RouteCollection.php:285

mohon infonya pak, settingan composernya blm ada yg dirubah2 padahal.

Masukan Absen RFID

Apakah bisa dibuatkaan mode masukan lain selain QR CODE, misal menggunakan RFID?

Bantuan[BUG]

Mohon maaf kak
Kan aku udah generat laporan ya ...kok tidak sama kaya yang di absen siswa yang hadir sama yg sakit nya ....kalo di absen siswa yang hadir 3 kalo di laporan cuman 2....itu gimana ya kak .....bisa di jelasin kak gimana caranya
IMG-20240513-WA0043
agar bisa sama di absen sama di laporan...๐Ÿ™
Terimaksih

saran

tambaihn web service ,udh oke nih webnya bisa diterapin disekolah nantinya

Generate QR Code

Hi kk, kenapa Generate QR Code gak bisa ya, stuck pas klik generate all data siswa / guru.
image

Terdapat bug saat akan edit data siswa

Ketika mengedit data siswa laki laki, saat masuk di form edit, jenis kelaminnya jadi perempuan, jika yang menggunakan lalai tanpa memperhatikakn data, data siswa tersebut keubah jadi perempuan.

image
image

Versi terbaru (sekitar 2 minggu lalu)

Versi PHP : 8.2.12

Bug

untuk kameranya kok ngga bisa dibuka ya kak

scan qr siswa

Bang Kenapa Pas scan qr Siswa Malah Munculnya Kaya Gini Bang

Internal Server Error

Generate QR Code

tidak bisa generate qr code

Screenshot (20)

download source code tanggal 19 Januari 2024.

PHP 8.3.2

Halaman Petugas

Screenshot 2023-12-08 001143

Login sebagai Superadmin tapi button ke halaman petugasnya tidak muncul

Fitur pencarian siswa tanpa login, mass update & delete data siswa/guru

  1. Impor / ekspor data siswa, guru, kelas, dan jurusan dari excel atau csv.
  2. Bisa mengubah data kelas siswa secara keseluruhan atau sebagian ketika ganti tahun ajaran baru, bisa pakai fitur ceklist atau yang lainnya agar tidak mengeditnya satu per satu.
  3. Bisa menghapus data siswa yang sudah lulus secara keseluruhan atau sebagaian.

Halaman Scan QR hanya bisa diakses setelah login Admin/Petugas?

Saat menekan tombol SCAN QR untuk masuk ke halaman Scan QR, ternyata harus login terlebih dahulu menggunakan akun admin/petugas. Apakah memang disengaja? Entahlah, tapi solusi yang saya gunakan agar tidak perlu login untuk Scan QR:

  • Pada file app\Config\Filters.php hapus atau berikan comment pada bagian 'login'
    /**
     * List of filter aliases that are always
     * applied before and after every request.
     */
    public array $globals = [
        'before' => [
            'honeypot',
            'login'           // Ini baris yang perlu dihapus agar tidak perlu login untuk Scan QR
            // 'csrf',
            // 'invalidchars',
        ],
        'after' => [
            'toolbar',
            // 'honeypot',
            // 'secureheaders',
        ],
    ];

Cara ganti nama sekolah

Gimana cara ganti nama sekolah pada laporan daftar hadir, serta gimana untuk ngilangin nama dibawah kode QR dan ganti warna kode QR nya ?
image
image

mengatur jam masuk

bagaimana cara mengatur jam masuk ?
sehingga keterangan otomatis jika ada siswa terlambat

Login Gagal App Versi 1.5.2

versi php 8.2 xampp windows, tidak bisa login menggunakan user superadmin password superadmin.
boleh tolong dibantu ?

image

saran

send notif ke wa wali murid kalau murid sudah absen, bisa pak 3rd party wa gateway kaya wa blas

permasalahan saat buka menu laporan

selalu muncul wooops We seem to have hit a snag. Please try again later. saat membuka menu laporan

saya cek folder laporan memang tidak ada

mohon bantuannya

[BUG]

Jelaskan bug tersebut
Failed to generate qr code. Extensi -intl dan -gd sudah diaktifkan. Mode environment sudah development. Apakah ada solusi?

Screenshots
Screenshot (469)

Versi yang digunakan
v1.5.6

Versi PHP
PHP 8.2

Tidak dapat generate QR[BUG]

Jelaskan bug tersebut
Setelah selesai buat data dan generate all tapi gambar tidak tampil di file public/uploads/qr-siswa/'kelas'/*kosong
bagaimana solusi nya?

Screenshots
image

Generate Laporan

pada saat generate ke laporan prekelas PDF. terjadi miss antara Laporan bulanan dan Laporan Pertanggal.

Versi yang digunakan 1.5.5

Versi PHP
Contoh PHP 8.2

Scan QR masuk dan keluar

Pada saat scan kode QR muncul tulisan Internal Server Eror setelah kode QR terdeteksi dan data absensi tidak masuk di dashboard
Screenshot 2023-12-24 165002
Screenshot 2023-12-24 164952

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.