{"id":32689236,"url":"https://github.com/dimasrizkyfebrian/orderbyte","last_synced_at":"2026-04-09T21:02:11.213Z","repository":{"id":320806360,"uuid":"1004649352","full_name":"dimasrizkyfebrian/orderbyte","owner":"dimasrizkyfebrian","description":"Aplikasi POS \u0026 manajemen kafe (OrderByte) dengan alur multi-role (Pelanggan, Kasir, Dapur). Dibuat dengan Laravel, Filament 3, dan Livewire.","archived":false,"fork":false,"pushed_at":"2025-10-26T01:12:50.000Z","size":838,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-26T02:37:38.613Z","etag":null,"topics":["cafe-management","filament","laravel","livewire","mysql","order-management","orderbyte","pos-system","tailwindcss","tall-stack"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dimasrizkyfebrian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-19T01:03:26.000Z","updated_at":"2025-10-26T01:14:49.000Z","dependencies_parsed_at":"2025-10-26T02:37:44.809Z","dependency_job_id":"ea9f737c-b82d-4528-b530-feb3ce8acaa3","html_url":"https://github.com/dimasrizkyfebrian/orderbyte","commit_stats":null,"previous_names":["dimasrizkyfebrian/sistem-order-kafe"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/dimasrizkyfebrian/orderbyte","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimasrizkyfebrian%2Forderbyte","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimasrizkyfebrian%2Forderbyte/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimasrizkyfebrian%2Forderbyte/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimasrizkyfebrian%2Forderbyte/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dimasrizkyfebrian","download_url":"https://codeload.github.com/dimasrizkyfebrian/orderbyte/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimasrizkyfebrian%2Forderbyte/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":282145351,"owners_count":26621741,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-01T02:00:06.759Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cafe-management","filament","laravel","livewire","mysql","order-management","orderbyte","pos-system","tailwindcss","tall-stack"],"created_at":"2025-11-01T13:00:24.200Z","updated_at":"2025-11-01T13:01:58.057Z","avatar_url":"https://github.com/dimasrizkyfebrian.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OrderByte (Sistem Manajemen Kafe)\n\n\u003cp align=\"left\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Laravel-11.x-FF2D20.svg\" alt=\"Laravel 11\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Filament-3.x-F59E0B.svg\" alt=\"Filament 3\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Livewire-3.x-4E56A6.svg\" alt=\"Livewire 3\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Tailwind_CSS-3.x-06B6D4.svg\" alt=\"Tailwind CSS 3\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Vite-5.x-646CFF.svg\" alt=\"Vite 5\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/MySQL-blue.svg\" alt=\"MySQL\"\u003e\n\u003c/p\u003e\n\nAplikasi web Point-of-Sale (POS) dan manajemen kafe yang dirancang untuk menangani alur pemesanan *multi-role* secara lengkap. Dibangun sebagai proyek untuk sertifikasi BNSP, aplikasi ini mengelola alur kerja dari pemesanan mandiri oleh pelanggan, konfirmasi kasir, Kitchen Display System (KDS), hingga pelaporan omset di panel admin.\n\n## Alur Kerja Aplikasi (Multi-Role)\n\nAplikasi ini memiliki 4 peran utama dengan alur kerja yang saling terhubung:\n\n### 1. Pelanggan (Customer)\n\n* **Pemesanan Mandiri:** Pelanggan dapat memindai QR di meja, memilih meja, dan melihat menu yang dikelompokkan berdasarkan kategori.\n* **Melihat Rating:** Setiap item menu menampilkan **rata-rata rating** dan **jumlah ulasan** dari pelanggan lain.\n* **Checkout:** Setelah selesai memilih, pelanggan melakukan checkout. Pesanan dibuat dengan nomor order unik (misal: `ORD-251026-ABCD`) dan status **`menunggu_pembayaran`**.\n* **Riwayat \u0026 Ulasan:** Setelah pesanan diselesaikan oleh kasir, pesanan akan muncul di halaman riwayat. Pelanggan dapat memberikan **rating (1-5 bintang)** dan **komentar** untuk setiap item menu yang telah mereka pesan.\n\n### 2. Kasir (Cashier)\n\nDasbor kasir adalah pusat kendali yang memiliki dua tanggung jawab utama:\n\n* **1. Konfirmasi Pembayaran:**\n    * Melihat antrian pesanan yang berstatus `menunggu_pembayaran`.\n    * Setelah pelanggan membayar, kasir menekan \"Konfirmasi\".\n    * Status pesanan berubah menjadi **`diproses`** dan secara otomatis dikirim ke antrian Dapur (KDS).\n* **2. Menyelesaikan Pesanan:**\n    * Melihat antrian pesanan yang berstatus `siap_disajikan` (pesanan yang telah selesai disiapkan oleh dapur).\n    * Kasir mengantarkan pesanan ke meja pelanggan, lalu menekan \"Selesai\".\n    * Status pesanan berubah menjadi **`selesai`**, dan pesanan kini muncul di riwayat pelanggan.\n\n### 3. Dapur (Kitchen Display System - KDS)\n\n* **Antrian Pesanan:** Layar KDS hanya menampilkan pesanan yang relevan (status **`diproses`**).\n* **Manajemen Stok Otomatis:** Saat koki selesai menyiapkan pesanan dan menekan \"Siap Disajikan\":\n    * Logika ini dibungkus dalam `DB::transaction` untuk memastikan keamanan data.\n    * Stok setiap item menu di dalam pesanan akan **dikurangi secara otomatis** dari database (`stock_quantity`).\n    * Status pesanan berubah menjadi **`siap_disajikan`** dan hilang dari layar KDS.\n\n### 4. Admin (Filament Panel)\n\nAdmin memiliki kontrol penuh atas seluruh ekosistem kafe melalui Panel Admin Filament:\n\n* **Laporan Penjualan:** Melihat seluruh riwayat pesanan dengan filter canggih berdasarkan **rentang tanggal** dan **status**.\n* **Kalkulasi Omset:** Halaman laporan secara otomatis **menjumlahkan total omset** dari semua pesanan yang ditampilkan (`summarize(Sum::make())`).\n* **Manajemen Menu \u0026 Stok:** Menambah, mengedit, dan menghapus menu, serta **mengatur `stock_quantity`** (stok awal).\n* **Manajemen Pengguna \u0026 Role:** Membuat akun untuk staf dan menetapkan *role* mereka (`admin`, `kasir`, `kitchen`).\n* **Manajemen Ulasan:** Melihat semua ulasan yang masuk dari pelanggan dan dapat **memfilter ulasan berdasarkan rating** (misal: \"tampilkan semua ulasan bintang 1\").\n\n## Disclaimer \u0026 Potensi Pengembangan\n\nHarap dicatat bahwa proyek ini dibuat untuk memenuhi skema sertifikasi BNSP. Alur kerja utamanya telah selesai dan berfungsi, namun masih memiliki banyak ruang untuk pengembangan lebih lanjut.\n\nSatu fitur utama yang direncanakan namun **belum diimplementasikan** adalah **pembayaran via QRIS**. Saat ini, alur pembayaran pelanggan masih menggunakan mekanisme manual (bayar di kasir), di mana kasir memvalidasi pembayaran secara manual.\n\nFitur potensial untuk pengembangan di masa depan meliputi:\n* **Integrasi Payment Gateway (QRIS):** Mengganti alur bayar di kasir dengan sistem *payment gateway* (seperti Midtrans/Xendit) agar pelanggan bisa bayar langsung setelah checkout.\n* **Real-time Notifications:** Menggunakan WebSockets (Laravel Echo) untuk notifikasi *real-time* (misalnya, notifikasi ke pelanggan saat pesanan \"Siap Disajikan\").\n* **Manajemen Inventaris:** Sistem manajemen stok bahan baku yang lebih detail, yang akan mengurangi stok bahan (bukan stok menu) saat pesanan dibuat.\n\n## Tumpukan Teknologi (Tech Stack)\n\n* **Framework Backend:** **Laravel 11**\n* **Panel Admin:** **Filament 3**\n* **UI/Interactivity:** **Livewire 3**\n* **Database:** **MySQL**\n* **Styling:** **Tailwind CSS**\n* **JavaScript:** **Alpine.js**\n* **Autentikasi:** **Laravel Breeze**\n* **Build Tool:** **Vite**\n\n## Panduan Instalasi (Getting Started)\n\n1.  **Clone repository:**\n    ```bash\n    git clone https://github.com/dimasrizkyfebrian/orderbyte.git\n    cd orderbyte\n    ```\n\n2.  **Install dependensi Backend (PHP):**\n    ```bash\n    composer install\n    ```\n\n3.  **Install dependensi Frontend (Node.js):**\n    ```bash\n    npm install\n    ```\n\n4.  **Setup `.env`:**\n    Salin file `.env.example` menjadi `.env`.\n    ```bash\n    cp .env.example .env\n    ```\n\n5.  **Generate Key:**\n    ```bash\n    php artisan key:generate\n    ```\n\n6.  **Konfigurasi Database:**\n    Buka file `.env` dan sesuaikan pengaturan database **MySQL** kamu (buat database baru bernama `orderbyte`).\n    ```dotenv\n    DB_CONNECTION=mysql\n    DB_HOST=127.0.0.1\n    DB_PORT=3306\n    DB_DATABASE=orderbyte\n    DB_USERNAME=root\n    DB_PASSWORD=\n    ```\n\n7.  **Konfigurasi Driver (`.env`):**\n    Untuk fungsionalitas optimal (sesuai `.env.example`), atur driver berikut ke `database`:\n    ```dotenv\n    SESSION_DRIVER=database\n    QUEUE_CONNECTION=database\n    CACHE_STORE=database\n    ```\n\n8.  **Jalankan Migrasi \u0026 Seeder:**\n    ```bash\n    php artisan migrate --seed\n    ```\n\n9.  **Link Storage:**\n    ```bash\n    php artisan storage:link\n    ```\n\n10. **Jalankan Build Assets (Vite):**\n    ```bash\n    # Untuk development (menonton perubahan file)\n    npm run dev\n    \n    # Atau untuk production\n    npm run build\n    ```\n\n11. **Jalankan Server Lokal:**\n    Buka terminal baru dan jalankan:\n    ```bash\n    php artisan serve\n    ```\n\nAplikasi sekarang berjalan di `http://127.0.0.1:8000`.\n\n## Lisensi\n\nProyek ini berada di bawah [Lisensi MIT](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimasrizkyfebrian%2Forderbyte","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimasrizkyfebrian%2Forderbyte","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimasrizkyfebrian%2Forderbyte/lists"}