Sistem menu restoran digital yang memungkinkan pelanggan memesan makanan melalui QR Code atau link langsung. Dibangun dengan CodeIgniter 4, Bootstrap 5, dan MySQL.
- ✅ Mengelola semua restoran (CRUD)
- ✅ Membuat akun admin restoran
- ✅ Dashboard dengan statistik
- ✅ Mengelola kategori menu
- ✅ Mengelola menu produk (nama, harga, deskripsi, gambar, stok)
- ✅ Generate QR Code untuk menu pelanggan
- ✅ Mengelola pesanan pelanggan
- ✅ Dashboard dengan statistik restoran
- ✅ Melihat menu restoran via QR Code/link
- ✅ Memilih produk dengan jumlah dan catatan
- ✅ Keranjang belanja
- ✅ Checkout dengan pilihan dine in/take away
- ✅ Detail pesanan
- Framework: CodeIgniter 4
- Database: MySQL
- Frontend: Bootstrap 5, Font Awesome
- QR Code: Endroid/QrCode
- PHP: 8.1+
id(Primary Key)username(Unique)password(Hashed)role(super_admin/admin_restoran)restoran_id(Foreign Key)created_at,updated_at
id(Primary Key)namaalamatkontakcreated_at,updated_at
id(Primary Key)namarestoran_id(Foreign Key)created_at,updated_at
id(Primary Key)namahargakategori_id(Foreign Key)gambardeskripsistokcreated_at,updated_at
id(Primary Key)restoran_id(Foreign Key)metode(dine_in/take_away)totalwaktu_pesanstatus(pending/confirmed/completed/cancelled)created_at,updated_at
id(Primary Key)pesanan_id(Foreign Key)menu_id(Foreign Key)jumlahharga_satuansubtotalcatatancreated_at,updated_at
git clone <repository-url>
cd Buku-Menucomposer install- Buat database MySQL baru
- Copy file
envke.env - Edit file
.env:
database.default.hostname = localhost
database.default.database = nama_database_anda
database.default.username = username_database_anda
database.default.password = password_database_andaphp spark migratephp spark db:seed InitialDataSeedermkdir public/uploads/menu
chmod 777 public/uploads/menuphp spark serve- Username:
superadmin - Password:
superadmin123
- Username:
admin - Password:
admin123
- Login dengan akun super admin
- Tambah restoran baru
- Buat akun admin untuk restoran tersebut
- Monitor semua restoran dari dashboard
- Login dengan akun admin restoran
- Tambah kategori menu (Makanan, Minuman, dll)
- Tambah menu dengan gambar dan detail
- Generate QR Code untuk menu pelanggan
- Monitor pesanan pelanggan
- Scan QR Code atau buka link menu
- Pilih menu yang diinginkan
- Masukkan jumlah dan catatan
- Tambah ke keranjang
- Checkout dengan pilihan dine in/take away
- Lihat detail pesanan
Sistem menggunakan library Endroid/QrCode untuk generate QR Code. QR Code akan mengarahkan ke URL menu pelanggan.
- Folder upload:
public/uploads/menu/ - Format yang didukung: JPG, PNG, GIF
- Maksimal ukuran: 2MB
Sistem menggunakan session untuk menyimpan keranjang belanja pelanggan.
Buku-Menu/
├── app/
│ ├── Config/
│ ├── Controllers/
│ │ ├── Admin.php
│ │ ├── Auth.php
│ │ ├── Customer.php
│ │ ├── QRCodeController.php
│ │ └── SuperAdmin.php
│ ├── Database/
│ │ ├── Migrations/
│ │ └── Seeds/
│ ├── Filters/
│ ├── Models/
│ └── Views/
│ ├── admin/
│ ├── auth/
│ ├── customer/
│ ├── layouts/
│ └── super_admin/
├── public/
│ └── uploads/
└── writable/
- Pastikan database sudah dibuat
- Periksa konfigurasi di file
.env - Jalankan
php spark migrate:statusuntuk cek status migration
- Pastikan folder
public/uploads/menu/sudah dibuat - Periksa permission folder (777)
- Pastikan format file didukung
- Pastikan library Endroid/QrCode sudah terinstall
- Jalankan
composer installulang
Jika ada pertanyaan atau masalah, silakan buat issue di repository ini.
MIT License - silakan gunakan untuk keperluan komersial maupun non-komersial.
Dibuat dengan ❤️ menggunakan CodeIgniter 4