Sistem Pembagian Daging Kurban Digital adalah aplikasi web yang dirancang untuk memodernisasi dan mempermudah proses pembagian daging kurban. Dengan mengganti kupon fisik menjadi QR code digital, sistem ini memungkinkan panitia untuk mengelola data penerima, menerbitkan kupon digital, dan memvalidasi pengambilan daging secara efisien menggunakan pemindaian QR code melalui perangkat seluler.
Dibangun dengan Laravel, FilamentPHP, dan Livewire, aplikasi ini menawarkan antarmuka admin yang intuitif untuk manajemen penuh dan pengalaman pengguna yang lancar untuk penerima.
- Manajemen Penerima: Tambah, edit, hapus, dan kelola data penerima daging kurban.
- Penerbitan Kupon Digital: Otomatis menghasilkan QR code unik untuk setiap penerima.
- Akses Penerima: Penerima dapat login untuk melihat kupon QR code digital mereka.
- Pemindaian Cepat: Panitia dapat memindai QR code menggunakan kamera perangkat seluler untuk validasi pengambilan daging secara real-time.
- Manajemen Status Kupon: Lacak status pengambilan kupon (belum diambil, sudah diambil).
- Sistem Role & Permission: Pembatasan akses granular menggunakan Filament Shield untuk admin, panitia, dan penerima.
- Dashboard Informatif: Ikhtisar status kupon dan progress pengambilan.
- Laravel - Framework PHP untuk backend.
- FilamentPHP - Toolkit PHP cepat untuk membangun antarmuka admin yang indah dengan cepat.
- Livewire - Framework full-stack untuk Laravel yang membuat pengembangan antarmuka dinamis jadi mudah.
- Spatie/Laravel-Permission - Untuk manajemen role dan permission.
- html5-qrcode - Library JavaScript untuk pemindaian QR code dari kamera web.
- Vite - Tooling frontend modern untuk bundling aset.
- Tailwind CSS - Framework CSS untuk styling.
- PHP >= 8.2
- Composer
- Node.js & NPM / Yarn
- Database MySQL, PostgreSQL, SQLite (direkomendasikan MySQL)
Ikuti langkah-langkah di bawah ini untuk menjalankan proyek secara lokal.
-
Clone Repositori:
git clone [https://github.com/nama_pengguna_anda/nama_repo_anda.git](https://github.com/nama_pengguna_anda/nama_repo_anda.git) cd nama_repo_anda
-
Instal Dependensi Composer:
composer install
-
Salin File Konfigurasi Lingkungan:
cp .env.example .env
-
Buat Kunci Aplikasi:
php artisan key:generate
-
Konfigurasi Database: Edit file
.env
Anda dan sesuaikan pengaturan database:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=nama_database_anda DB_USERNAME=username_database_anda DB_PASSWORD=password_database_anda
-
Jalankan Migrasi Database dan Seeder: Perintah ini akan membuat tabel database dan mengisi data awal untuk role, permission, dan user admin.
php artisan migrate --seed
Catatan: User Admin awal akan dibuat dengan kredensial:
- Email:
admin@qurban.com
- Password:
adminqurban
(Sangat disarankan untuk mengubahnya setelah login pertama!)
- Email:
-
Instal Dependensi NPM & Build Aset Frontend:
npm install npm run dev # Untuk pengembangan, otomatis memantau perubahan # Atau npm run build # Untuk produksi, akan membuat aset yang dioptimalkan
-
Jalankan Server Lokal:
php artisan serve
-
Akses Aplikasi: Buka browser Anda dan kunjungi
http://127.0.0.1:8000/admin
. Login dengan kredensial admin yang telah disediakan.
- Login: Akses
/admin
dan login dengan kredensial yang sesuai. - Manajemen Pengguna: Admin dapat membuat dan mengelola pengguna baru di menu "Users".
- Manajemen Role & Permission: Admin dapat mengatur peran (
admin
,panitia
,penerima
) dan izin yang sesuai di menu "Roles" dan "Permissions". - Manajemen Penerima: Di menu "Penerima", admin dapat menambahkan data penerima, yang secara otomatis akan terkait dengan kupon digital.
- Pindai Kupon: Panitia dengan izin "scan qr codes" dapat mengakses halaman "Pindai Kupon" di navigasi samping untuk memindai QR code.
- Penerima dapat login ke aplikasi (jika Anda menyediakan fitur login untuk mereka) untuk melihat kupon QR code digital mereka di dashboard. Anda mungkin perlu membuat fitur login/registrasi terpisah untuk penerima jika belum ada di Filament.
Kami sangat menyambut kontribusi dari komunitas! Jika Anda ingin berkontribusi:
- Fork repositori ini.
- Buat branch baru untuk fitur atau perbaikan Anda (
git checkout -b feature/nama-fitur
). - Lakukan perubahan Anda.
- Commit perubahan Anda (
git commit -m 'feat: Menambahkan fitur baru XYZ'
). - Push ke branch Anda (
git push origin feature/nama-fitur
). - Buka Pull Request ke repositori utama.
Mohon ikuti Panduan Kontribusi kami (jika Anda berencana membuatnya) dan Code of Conduct (jika Anda berencana membuatnya).
Proyek ini dilisensikan di bawah Lisensi MIT. Anda bebas menggunakan, memodifikasi, dan mendistribusikan kode ini untuk tujuan pribadi maupun komersial.