Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

12 Commits

Folders and files

Repository files navigation

Avenoir Kitchen Logo

🍽️ Avenoir Kitchen

Modern Restaurant Order & Management System

Laravel PHP MySQL SQLite Vite Bootstrap Railway License: MIT


πŸ”— Live Website: https://web-production-f8d4b.up.railway.app/


UJIKOM LEVEL 2 β€” JURUSAN PENGEMBANGAN PERANGKAT LUNAK DAN GIM (PPLG)
SMK MARHAS MARGAHAYU SEKOLAH PUSAT KEUNGGULAN
TAHUN AJARAN 2025 - 2026

πŸ“ Deskripsi Project

Projek ini merupakan pengembangan sistem pemesanan makanan berbasis web untuk Avenoir Kitchen, sebuah restoran premium yang mengangkat mie ayam dan spaghetti sebagai menu utama berkualitas tinggi. Dirancang untuk menciptakan pengalaman kuliner yang higienis dan efisien, sistem ini memungkinkan pelanggan untuk melakukan pemesanan secara mandiri hanya dengan memindai QR Code yang tersedia di meja melalui perangkat smartphone mereka.

Sementara itu, di sisi operasional, kasir dibekali dengan panel admin berbasis template AdminLTE untuk mengelola data menu dan meja dengan mudah, serta memproses pembayaran tunai secara aman melalui validasi pemindaian QR Code khusus untuk mencegah potensi kecurangan. Proses penyajian makanan juga berjalan lebih terstruktur berkat adanya fitur Kitchen Display yang memudahkan koki dalam melihat dan memperbarui status pesanan secara real-time melalui teknik polling, yang keseluruhannya dibangun secara kokoh menggunakan framework Laravel 12 dengan pendekatan arsitektur MVC.


✨ Fitur Unggulan (Core & Unique Values)

Projek Avenoir Kitchen dirancang dengan berbagai fitur modern yang memberikan nilai tambah (value) baik dari sisi kenyamanan pelanggan maupun efisiensi operasional restoran:

  • πŸ“± Self-Service Ordering via QR Code Pelanggan cukup memindai QR Code unik di meja masing-masing untuk langsung melihat menu dan melakukan pemesanan tanpa perlu antre di kasir atau menunggu pelayan membawa buku menu.
  • πŸ”„ Kitchen Display System (KDS) Real-Time Layar khusus koki yang secara dinamis memantau pesanan masuk. Koki dapat mengubah status pesanan dari Pending -> Diproses -> Siap Disajikan secara langsung yang otomatis terhubung ke sistem.
  • πŸ›‘οΈ Anti-Fraud Cashier Verification Untuk metode pembayaran tunai, pelanggan akan menerima QR Code verifikasi transaksi unik di layar mereka. Kasir melakukan pemindaian terhadap QR Code tersebut untuk memvalidasi pembayaran secara aman guna menghindari kecurangan internal.
  • πŸ’³ Simulasi Dual-Payment System Mendukung fleksibilitas transaksi dengan pilihan pembayaran Tunai (memerlukan validasi kasir) maupun pembayaran cashless otomatis (melalui simulasi QRIS).
  • πŸ› οΈ Dynamic & Autogenerated Table QR Admin tidak perlu membuat QR Code manual untuk setiap meja baru. Sistem secara otomatis membuat QR Code dinamis berbasis URL aktif yang terhubung langsung dengan ID meja terkait.
  • πŸ“Š AdminLTE Management Dashboard Dashboard administratif yang komprehensif bagi pengelola restoran untuk manajemen meja, manajemen kategori, kontrol ketersediaan menu makanan/minuman, serta monitoring riwayat transaksi harian.

πŸ”„ Prosedur Flowmap

  1. Sistem mendeteksi nomor meja dari QR Code yang dipindai pelanggan.
  2. Sistem menampilkan daftar menu berdasarkan kategori.
  3. Sistem menyimpan menu yang dipilih pelanggan ke dalam keranjang.
  4. Sistem menghitung total harga dari seluruh isi keranjang.
  5. Sistem menyimpan data pesanan ke database saat pelanggan melakukan konfirmasi.
  6. Sistem mengubah status meja menjadi "terisi".
  7. Jika pelanggan memilih bayar tunai, sistem menampilkan QR Code khusus untuk diverifikasi admin. Jika QRIS, sistem langsung mencatat status sebagai lunas.
  8. Sistem menampilkan daftar pesanan baru di halaman koki.
  9. Sistem mengubah status pesanan menjadi "diproses" saat koki menekan tombol mulai masak.
  10. Sistem mengubah status pesanan menjadi "siap diambil" saat koki menekan tombol selesai.
  11. Sistem menampilkan notifikasi di layar pelanggan bahwa makanan siap diambil.

πŸ“Š Flowmap Yang Diajukan

flowchart TD
    subgraph Pelanggan
        P_Start([Start]) --> P_QR[QR Code di Meja]
        P_QR --> P_Scan[Scan QR Code]
        P_Scan --> P_Menu[Halaman Menu]
        P_Menu --> P_Pilih[Pilih Menu & Metode Pembayaran]
        P_Pilih --> P_Form[Formulir Pesanan yang Sudah Diisi]
    end

    subgraph Admin
        A_Form[Formulir Pesanan yang Sudah Diisi]
        A_Input[Input Formulir Pesanan]
        A_Update[Proses Update Pesanan & Update Meja]
        A_DB[(db_resto7)]
        A_Verif{Pesanan Diverifikasi?}
        A_StatusBelum[Pesanan yang Belum Dimasak]
        A_StatusSiap[Pesanan Berstatus Siap Diambil]
        A_Metode{Metode Pembayaran?}
        A_QR1[QR Code]
        A_QR2[QR Code]
        A_ScanKasir[Di Scan oleh Kasir]
        A_ScanQRIS[Melakukan Scan]
        A_SelesaiBayar[Pesanan dan Pembayaran Selesai]
        A_Struk[Cetak Struk]
    end

    subgraph Koki
        K_Belum[Pesanan yang Belum Dimasak]
        K_TombolMasak[Menekan Tombol Masak]
        K_Proses[Pesanan Berstatus Proses]
        K_TombolSelesai[Menekan Tombol Selesai]
        K_Siap[Pesanan Berstatus Siap Diambil]
    end

    P_Form --> A_Form
    A_Form --> A_Input
    A_Input --> A_Update
    A_Update --> A_DB
    A_DB --> A_Verif
    A_Verif --> A_StatusBelum
    A_StatusBelum --> K_Belum
    K_Belum --> K_TombolMasak
    K_TombolMasak --> K_Proses
    K_Proses --> K_TombolSelesai
    K_TombolSelesai --> K_Siap
    K_Siap --> A_StatusSiap
    A_StatusSiap --> A_Metode
    A_Metode -- Tunai --> A_QR1
    A_Metode -- QRIS --> A_QR2
    A_QR1 --> A_ScanKasir
    A_QR2 --> A_ScanQRIS
    A_ScanKasir --> A_SelesaiBayar
    A_ScanQRIS --> A_SelesaiBayar
    A_SelesaiBayar --> A_Struk
    A_Struk --> P_Struk[Struk]
    P_Struk --> P_End([End])
Loading

πŸ“Œ Kebutuhan Fungsional

Kode Kebutuhan Fungsional Deskripsi
P01 Landing Page Menampilkan halaman depan profil restoran secara publik
P02 Halaman Menu Menampilkan daftar menu berdasarkan kategori sesuai nomor meja dari QR
P03 Keranjang & Checkout Menampilkan item, memproses perhitungan total, dan menyimpan data pesanan
P04 Tracking Pesanan Memantau status pesanan secara otomatis (polling) dan menampilkan QR tunai jika diperlukan
P05 Login Memverifikasi username dan password untuk mengakses panel internal
P06 Dashboard Menampilkan ringkasan pendapatan, jumlah pesanan, dan status meja
P07 Manajemen Menu Mengelola data menu (Tambah, Edit, Hapus, Ubah ketersediaan)
P08 Manajemen Meja Mengelola data meja dan melakukan generate gambar QR Code secara otomatis
P09 Manajemen Pesanan Menampilkan seluruh data pesanan dan memproses validasi pembayaran tunai via scan QR
P10 Kitchen Display Menampilkan daftar pesanan aktif dan menyediakan tombol untuk mengubah status proses memasak
P11 Logout Menghapus sesi login dan mengarahkan ke halaman login

🎭 Use Case Diagram

graph LR
    subgraph Sistem Avenoir Kitchen
        UC1(landing page)
        UC2(halaman menu)
        UC3(keranjang & checkout)
        UC4(tracking pesanan)
        UC5(login)
        UC6(dashboard)
        UC7(manajemen menu)
        UC8(manajemen meja)
        UC9(manajemen pesanan)
        UC10(kitchen display)
        UC11(logout)
    end

    Pelanggan((Pelanggan)) --> UC1
    Pelanggan --> UC2
    Pelanggan --> UC3
    Pelanggan --> UC4

    Admin((Admin)) --> UC5
    Admin --> UC6
    Admin --> UC7
    Admin --> UC8
    Admin --> UC9
    Admin --> UC11

    Koki((Koki)) --> UC5
    Koki --> UC6
    Koki --> UC10
    Koki --> UC11
Loading

πŸ“‹ Use Case Scenario (Skenario Use Case)

Skenario P01: Landing Page

  • Aktor: Publik atau pelanggan
  • Kondisi Awal: Pengguna mengakses root URL website
  • Aksi Aktor: Pengguna membuka alamat website Avenoir Kitchen
  • Reaksi Sistem: Sistem menampilkan halaman utama berisi profil restoran dan deskripsi singkat
  • Kondisi Akhir: Halaman depan restoran berhasil ditampilkan

Skenario P02: Halaman Menu

  • Aktor: Pelanggan
  • Kondisi Awal: Pelanggan memindai QR code di meja
  • Aksi Aktor:
    1. Pelanggan membuka hasil pemindaian QR code
    2. Pelanggan memilih kategori menu
    3. Pelanggan menekan tombol tambah pada menu tertentu
  • Reaksi Sistem:
    1. Sistem membaca nomor meja dari URL
    2. Sistem menampilkan daftar kategori dan menu
    3. Sistem memfilter dan menampilkan menu sesuai kategori
    4. Sistem menyimpan item ke keranjang dan menampilkan notifikasi sukses
  • Kondisi Akhir: Item berhasil ditambahkan ke dalam keranjang

Skenario P03: Keranjang & Checkout

  • Aktor: Pelanggan
  • Kondisi Awal: Terdapat minimal 1 item di dalam keranjang
  • Aksi Aktor:
    1. Pelanggan membuka sidebar keranjang
    2. Pelanggan memilih metode pembayaran dan menekan "pesan"
  • Reaksi Sistem:
    1. Sistem menampilkan daftar item beserta total harga
    2. Sistem menyimpan data pesanan ke database
    3. Sistem mengubah status meja menjadi "terisi"
    4. Sistem mengarahkan ke halaman tracking
    5. Jika tunai, sistem menampilkan QR code tunai; jika QRIS, sistem ubah status menjadi "lunas"
  • Kondisi Akhir: Pesanan tersimpan dan pelanggan diarahkan ke halaman tracking

Skenario P04: Tracking Pesanan

  • Aktor: Pelanggan
  • Kondisi Awal: Pelanggan berada di halaman tracking pesanan
  • Aksi Aktor: Pelanggan membuka halaman tracking
  • Reaksi Sistem:
    1. Sistem menampilkan nomor pesanan dan status awal
    2. Sistem melakukan pengecekan status otomatis (polling) ke database
    3. Jika status di database berubah, sistem memperbarui tampilan
    4. Sistem menampilkan notifikasi saat status berubah menjadi "siap diambil"
  • Kondisi Akhir: Pelanggan mengetahui bahwa makanan sudah siap diambil

Skenario P05: Login

  • Aktor: Admin & Koki
  • Kondisi Awal: Pengguna berada di halaman login
  • Aksi Aktor: Pengguna mengisi username dan password lalu menekan "login"
  • Reaksi Sistem:
    1. Sistem memverifikasi ke data ke database
    2. Jika valid, sistem membuat session dan mengarahkan ke dashboard
    3. Jika tidak valid, sistem menampilkan pesan error
  • Kondisi Akhir: Pengguna berhasil masuk ke sistem sesuai hak akses

Skenario P06: Dashboard

  • Aktor: Admin / Koki
  • Kondisi Awal: Pengguna sudah memiliki session login
  • Aksi Aktor: Pengguna mengakses halaman dashboard
  • Reaksi Sistem:
    1. Sistem menjalankan query agregasi ke database
    2. Sistem menampilkan statistik pendapatan, pesanan, dan meja
  • Kondisi Akhir: Data ringkasan operasional restoran berhasil ditampilkan

Skenario P07: Manajemen Menu

  • Aktor: Admin
  • Kondisi Awal: Admin membuka halaman manajemen menu
  • Aksi Aktor: Admin mengisi form data menu dan menekan "Simpan"
  • Reaksi Sistem:
    1. Sistem memvalidasi inputan admin
    2. Sistem menyimpan data baru ke tabel menu
    3. Sistem menampilkan pesan sukses dan memperbarui tabel
  • Kondisi Akhir: Data menu baru berhasil tersimpan di database

Skenario P08: Manajemen Meja

  • Aktor: Admin
  • Kondisi Awal: Admin membuka halaman manajemen meja
  • Aksi Aktor: Admin mengisi form nomor meja dan kapasitas, lalu menekan "Simpan"
  • Reaksi Sistem:
    1. Sistem memvalidasi inputan admin
    2. Sistem membuat gambar QR Code dan menyimpannya di folder server
    3. Sistem menyimpan data meja beserta path gambar QR ke database
  • Kondisi Akhir: Data meja dan gambar QR Code berhasil dibuat

Skenario P09: Manajemen Pesanan

  • Aktor: Admin
  • Kondisi Awal: Pelanggan menunjukkan QR Code tunai ke Admin
  • Aksi Aktor: Admin memindai QR Code tunai dari pelanggan
  • Reaksi Sistem:
    1. Sistem membaca nomor pesanan dari hasil scan QR
    2. Sistem memvalidasi pesanan (metode tunai dan status belum bayar)
    3. Sistem mengubah status pembayaran menjadi "Lunas"
    4. Sistem menampilkan pesan sukses di layar admin
  • Kondisi Akhir: Pembayaran tunai berhasil diproses dengan aman

Skenario P10: Kitchen Display

  • Aktor: Koki
  • Kondisi Awal: Terdapat pesanan baru yang masuk
  • Aksi Aktor:
    1. Koki menekan tombol "Mulai Masak" pada pesanan
    2. Koki menekan tombol "Selesai" setelah makanan matang
  • Reaksi Sistem:
    1. Sistem mengubah status pesanan menjadi "Diproses"
    2. Sistem mengubah status pesanan menjadi "Siap Diambil"
    3. Sistem mengirim perubahan Status ke halaman tracking pelanggan
  • Kondisi Akhir: Status pesanan diperbarui dan pelanggan mendapat notifikasi

Skenario P11: Logout

  • Aktor: Admin / Koki
  • Kondisi Awal: Pengguna sedang dalam keadaan login
  • Aksi Aktor: Pengguna menekan tombol "Logout"
  • Reaksi Sistem:
    1. Sistem menghapus semua data session pengguna
    2. Sistem mengarahkan pengguna kembali ke halaman login
  • Kondisi Akhir: Pengguna berhasil keluar dari sistem

πŸ“ˆ Activity Diagram

Activity Diagram: Landing Page & Halaman Menu

stateDiagram-v2
    state "Publik / Pelanggan" as P {
        [*] --> MembukaAlamat: Pengguna membuka alamat website
        [*] --> MembukaQR: Pelanggan membuka hasil pemindaian QR code
        MembukaQR --> PilihKategori: Pelanggan memilih kategori menu
        PilihKategori --> TekanTambah: Pelanggan menekan tombol tambah pada menu tertentu
    }
    state "Sistem" as S {
        MembukaAlamat --> TampilLanding: Sistem menampilkan halaman utama berisi profil restoran dan deskripsi singkat
        TampilLanding --> [*]
        MembukaQR --> BacaURL: Sistem membaca nomor meja dari URL
        BacaURL --> TampilMenu: Sistem menampilkan daftar kategori dan menu
        PilihKategori --> FilterMenu: Sistem memfilter dan menampilkan menu sesuai kategori
        TekanTambah --> SimpanKeranjang: Sistem menyimpan item ke keranjang dan menampilkan notifikasi sukses
        SimpanKeranjang --> [*]
    }
Loading

Activity Diagram: Keranjang & Tracking Pesanan

stateDiagram-v2
    state "Pelanggan" as P2 {
        [*] --> BukaKeranjang: Pelanggan membuka sidebar keranjang
        BukaKeranjang --> PilihPembayaran: Pelanggan memilih metode pembayaran dan menekan "pesan"
        [*] --> BukaTracking: Pelanggan membuka halaman tracking
    }
    state "Sistem" as S2 {
        BukaKeranjang --> TampilTotal: Sistem menampilkan daftar item beserta total harga
        PilihPembayaran --> SimpanPesanan: Sistem menyimpan data pesanan ke database
        SimpanPesanan --> Terisi: Sistem mengubah status meja menjadi "terisi"
        Terisi --> ArahkanTracking: Sistem mengarahkan ke halaman tracking
        ArahkanTracking --> QR_Tunai: Jika tunai, tampilkan QR code tunai; Jika QRIS, ubah status "lunas"
        QR_Tunai --> [*]
        BukaTracking --> TampilNomor: Sistem menampilkan nomor pesanan dan status awal
        TampilNomor --> Polling: Sistem melakukan pengecekan status otomatis (polling) ke database
        Polling --> UpdateTampilan: Jika status di database berubah, sistem memperbarui tampilan
        UpdateTampilan --> NotifikasiSiap: Sistem menampilkan notifikasi saat status berubah menjadi "siap diambil"
        NotifikasiSiap --> [*]
    }
Loading

Activity Diagram: Login & Dashboard

stateDiagram-v2
    state "Admin / Koki" as U {
        [*] --> IsiLogin: Pengguna mengisi username dan password lalu menekan "login"
        [*] --> AksesDashboard: Pengguna mengakses halaman dashboard
    }
    state "Sistem" as S3 {
        IsiLogin --> VerifDB: Sistem memverifikasi ke data ke database
        VerifDB --> Valid: Jika valid, sistem membuat session dan mengarahkan ke dashboard
        VerifDB --> Invalid: Jika tidak valid, sistem menampilkan pesan error
        Valid --> [*]
        Invalid --> [*]
        AksesDashboard --> QueryAgregasi: Sistem menjalankan query agregasi ke database
        QueryAgregasi --> TampilStatistik: Sistem menampilkan statistik pendapatan, pesanan, dan meja
        TampilStatistik --> [*]
    }
Loading

Activity Diagram: Manajemen Menu & Meja

stateDiagram-v2
    state "Admin" as A {
        [*] --> IsiFormMenu: Admin mengisi form data menu dan menekan "Simpan"
        [*] --> IsiFormMeja: Admin mengisi form nomor meja dan kapasitas, lalu menekan "Simpan"
    }
    state "Sistem" as S4 {
        IsiFormMenu --> ValidasiMenu: Sistem memvalidasi inputan admin
        ValidasiMenu --> SimpanMenu: Sistem menyimpan data baru ke tabel menu
        SimpanMenu --> SuksesMenu: Sistem menampilkan pesan sukses dan memperbarui tabel
        SuksesMenu --> [*]
        IsiFormMeja --> ValidasiMeja: Sistem memvalidasi inputan admin
        ValidasiMeja --> GenerateQR: Sistem membuat gambar QR Code dan menyimpannya di folder server
        GenerateQR --> SimpanMeja: Sistem menyimpan data meja beserta path gambar QR ke database
        SimpanMeja --> [*]
    }
Loading

Activity Diagram: Manajemen Pesanan & Kitchen Display

stateDiagram-v2
    state "Admin / Koki" as AK {
        [*] --> ScanQRTunai: Admin memindai QR Code tunai dari pelanggan
        [*] --> Masak: Koki menekan tombol "Mulai Masak" pada pesanan
        Masak --> SelesaiMasak: Koki menekan tombol "Selesai" setelah makanan matang
    }
    state "Sistem" as S5 {
        ScanQRTunai --> BacaPesanan: Sistem membaca nomor pesanan dari hasil scan QR
        BacaPesanan --> ValidasiTunai: Sistem memvalidasi pesanan (metode tunai dan status belum bayar)
        ValidasiTunai --> StatusLunas: Sistem mengubah status pembayaran menjadi "Lunas"
        StatusLunas --> SuksesAdmin: Sistem menampilkan pesan sukses di layar admin
        SuksesAdmin --> [*]
        Masak --> StatusDiproses: Sistem mengubah status pesanan menjadi "Diproses"
        StatusDiproses --> StatusSiap: Sistem mengubah status pesanan menjadi "Siap Diambil"
        StatusSiap --> KirimNotif: Sistem mengirim perubahan Status ke halaman tracking pelanggan
        KirimNotif --> [*]
    }
Loading

πŸ—„οΈ Entity Relationship Diagram (ERD) & Kamus Data

Diagram Relasi Entitas (ERD)

erDiagram
    user ||--o{ pesanan : "membuat / memproses"
    meja ||--o{ pesanan : "memiliki"
    pesanan ||--|{ detail_pesanan : "memiliki"
    menu ||--o{ detail_pesanan : "dipesan"
    kategori_menu ||--o{ menu : "memiliki"

    user {
        bigint id_user PK
        string nama
        string username
        string password
        enum role
    }

    kategori_menu {
        bigint id_kategori PK
        string nama_kategori
    }

    menu {
        bigint id_menu PK
        bigint id_kategori FK
        string nama_menu
        text deskripsi
        decimal harga
        string gambar
        boolean status_tersedia
    }

    meja {
        bigint id_meja PK
        string nomor_meja
        integer kapasitas
        string qr_code
        enum status
    }

    pesanan {
        bigint id_pesanan PK
        bigint id_meja FK
        bigint id_user FK
        string nomor_pesanan
        enum metode_pembayaran
        enum status_pembayaran
        enum status_pesanan
        decimal total_harga
        text catatan
    }

    detail_pesanan {
        bigint id_detail PK
        bigint id_pesanan FK
        bigint id_menu FK
        integer jumlah
        decimal harga_satuan
        decimal subtotal
    }
Loading

Kamus Data

  • user: {id_user, nama, username, password, role}
  • menu: {id_menu, id_kategori, nama_menu, deskripsi, harga, gambar, status_tersedia}
  • kategori_menu: {id_kategori, nama_kategori}
  • meja: {id_meja, nomor_meja, kapasitas, qr_code, status}
  • pesanan: {id_pesanan, id_meja, id_user, nomor_pesanan, metode_pembayaran, status_pembayaran, status_pesanan, total_harga, catatan}
  • detail_pesanan: {id_detail, id_pesanan, id_menu, jumlah, harga_satuan, subtotal}

πŸ› οΈ Spesifikasi Teknologi

  • Framework Utama: Laravel 12 (Model-View-Controller / MVC Architecture)
  • Bahasa Pemrograman: PHP 8.2 / 8.3 & JavaScript (ES6)
  • Database Driver: MySQL & SQLite Support
  • Pustaka QR Code: simplesoftwareio/simple-qrcode & bacon/bacon-qr-code
  • Admin Template: AdminLTE Theme
  • Bundler & UI: Vite, HTML5, Vanilla CSS, Bootstrap
  • Hosting & PaaS: Railway Cloud Platform (Nixpacks Builder with PHP GD Extension)

πŸ’» Panduan Instalasi Lokal

1. Cloning Repositori

git clone https://github.com/RyukaAngga/Avenoir_Kitchen.git
cd Avenoir_Kitchen

2. Instalasi Dependencies

composer install
npm install

3. Setup File Environment

copy .env.example .env
php artisan key:generate

4. Migrasi & Seeding Database

  • Metode SQLite (Instan):
    php artisan migrate --force
    php artisan db:seed --force
  • Metode MySQL (Laragon/XAMPP): Atur kredensial MySQL pada .env, lalu jalankan:
    php artisan migrate --seed

5. Jalankan Aplikasi

npm run build
php artisan serve

Akses di browser melalui: http://localhost:8000


πŸ”‘ Akun Akses Sistem

Role Username Password Hak Akses Utama
Admin 1 admin1 admin123 Kelola Menu, Meja, Validasi Pembayaran
Admin 2 admin2 admin123 Kelola Menu, Meja, Validasi Pembayaran
Koki koki koki123 Display Dapur & Kontrol Status Masak (/koki/kitchen)

πŸ’‘ Saran & Rencana Pengembangan Masa Depan

Untuk pengembangan jangka panjang, aplikasi Avenoir Kitchen ini sangat potensial untuk ditambahkan peran (role) khusus Kasir agar pengelolaan transaksi pembayaran terpisah secara terstruktur dan meringankan beban kerja Admin dalam memantau operasional restoran. Selain itu, integrasi dengan sistem payment gateway otomatis seperti Midtrans atau Xendit perlu diterapkan guna memfasilitasi berbagai metode pembayaran digital secara real-time sekaligus meminimalisir kesalahan konfirmasi manual. Sebagai penyempurna, penambahan fitur dasbor analisis bisnis berbasis kecerdasan buatan (AI) dapat diintegrasikan untuk memprediksi tren menu terlaris dan mengoptimalkan manajemen stok bahan baku secara otomatis di masa depan.


πŸ“„ Lisensi & Hak Cipta

Proyek ini dibuat untuk keperluan Ujikom Level 2 PPLG SMK Marhas Margahayu Tahun 2026 dan dilindungi di bawah lisensi MIT License.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages