Tampilan Cafe POS1 / 30
Tentang produk

CafePOS adalah platform manajemen restoran, cafe, cloud kitchen, dan food court modern yang dirancang untuk mengotomasi seluruh rantai operasional F&B—mulai dari pesanan kasir, monitor dapur (KDS), meja pelanggan, program loyalitas membership, hingga kontrol stok bahan baku otomatis berbasis resep (Bill of Materials - BOM).

Aplikasi ini dibangun menggunakan arsitektur modern berbasis Laravel 13, Inertia.js, dan Vue 3 (TypeScript). Desain antarmukanya premium bergaya dashboard minimalis profesional dengan dukungan Dark Mode penuh dan skema warna aksen Cokelat Kopi (Coffee Theme).


✨ High Value & Keunggulan Sistem

CafePOS dirancang untuk mengendalikan biaya makanan (food cost) dan merapikan operasional harian cafe secara terintegrasi:

  1. Auto-Deduction Stok Bahan Baku (BOM)
    Setiap menu minuman atau makanan yang terjual (misal: Cafe Latte) otomatis memotong stok bahan baku penyusunnya secara real-time berdasarkan resep (misal: Espresso 18 gr dan Susu 200 ml). Anda terhindar dari kebocoran stok bahan mentah.
  2. Kitchen Display System (KDS) Terintegrasi
    Pesanan dari kasir langsung meluncur ke layar monitor dapur secara real-time. Staff dapur dapat mengelola antrean pesanan berdasarkan status (Pending, Cooking, Ready, Served) dengan tampilan bersih yang mendukung mode gelap penuh dan layar penuh (fullscreen).
  3. Pemberian Peran Terisolasi & Auto-Redirect
    Mengamankan titik operasional dengan Role-Based Access Control (RBAC). Saat login:
    • Kasir otomatis dialirkan ke halaman POS Cashier Terminal.
    • Kitchen Staff otomatis dialirkan ke monitor Kitchen Display System (KDS).
    • Owner/Manager dialirkan ke panel dashboard utama untuk memantau omset gabungan.
  4. Manajemen Reservasi & Meja Interaktif
    Visualisasikan status meja fisik di cafe Anda (Available, Occupied, Reserved). Lengkap dengan modul reservasi jadwal kunjungan pelanggan untuk mengamankan kapasitas meja pada jam sibuk.
  5. Promo Engine & Loyalty Point CRM
    Dorong penjualan dengan opsi promo fleksibel (Diskon Persentase, Potongan Nominal, dan BOGO). Member berhak mendapatkan akumulasi poin loyalitas yang dapat ditukarkan langsung sebagai pengurang tagihan saat checkout.
  6. Split Bill Dinamis
    Mempermudah penagihan meja grup. Pelanggan dalam satu meja dapat membayar pesanan mereka masing-masing (pisah tagihan) dengan kalkulasi subtotal dan pajak yang terhitung otomatis per bagian.

🚀 Fitur Utama & Modul

1. POS Terminal & Penjualan

  • 3 Jenis Transaksi: Mendukung pesanan Dine In (dengan pilihan meja), Take Away (antrean otomatis), dan Delivery.
  • Hold & Resume: Simpan keranjang belanja sementara saat pelanggan masih memilih menu tambahan.
  • Split Bill: Pisah pembayaran per item belanja secara fleksibel.
  • Cetak Tiket Termal: Cetak langsung struk kasir (Thermal Receipt) maupun tiket pesanan untuk dapur.

2. Dapur & Antrean

  • Kitchen Display System (KDS): Tampilan antrean pesanan per nota (Order View) maupun ringkasan item yang harus dimasak (Item View).
  • Monitor Riwayat Selesai: Tab history untuk meninjau kembali pesanan yang telah disajikan (served).

3. Resep & Inventori

  • Bahan Baku (Ingredients): Pencatatan bahan mentah lengkap dengan satuan ukur dasar (gr, ml, pcs, kg, dll).
  • Resep BOM (Bill of Materials): Pemetaan takaran bahan baku per porsi menu produk.
  • Stock Opname: Audit stok berkala untuk mendeteksi selisih stok sistem dengan fisik beserta laporan satuannya.
  • Waste Management: Pencatatan bahan baku yang rusak, basi, atau terbuang untuk analisis pemborosan (waste cost).

4. Multi-Outlet, Voucher & Pengaturan

  • Multi-Branch Control: Pengelolaan stok produk dan transaksi yang terisolasi per outlet cabang fisik.
  • Voucher & Promo Engine: Pengelolaan voucher diskon kustom (dengan konfigurasi masa berlaku expires_at, kuota klaim usage_limit, minimal belanja, dll) serta promo otomatis.
  • Settings System: Ubah nama aplikasi, logo, favicon, tarif pajak restoran (PB1), dan biaya layanan (service charge) dari satu halaman kontrol.

5. Panduan Pengoperasian Sistem (User Guides)

  • Modul Panduan Interaktif: Halaman khusus panduan cara penggunaan sistem untuk setiap fitur (POS Terminal, KDS Dapur, Bahan Baku/BOM, Manajemen Outlet, Voucher Engine) dengan UI interaktif, sidebar navigasi, dan bahasa Indonesia yang mudah dipahami.
  • Format Markdown & HTML: Panduan diformat rapi dengan standard HTML rendering (v-html) untuk kemudahan navigasi bagi staff kasir maupun admin.

📊 Alur Kerja Sistem (Workflow)

1. Alur Transaksi Kasir POS (BOM Stock Deduction)

2. Alur Pengelolaan Dapur (KDS Flow)


🗄️ Struktur Database & Relasi (ERD)

Rincian Tabel Database Utama:

  1. users: Akun kasir, waiter, kitchen staff, manager, dan owner.
  2. outlets: Daftar cabang cafe fisik (Kemang, Senopati, dll).
  3. tables: Daftar meja makan fisik di masing-masing outlet.
  4. ingredients: Stok bahan mentah (susu, biji kopi, gula pasir, dll).
  5. products: Menu makanan/minuman yang dijual ke pelanggan.
  6. recipes: Jembatan resep (BOM) yang menentukan jumlah bahan baku per produk.
  7. transactions: Nota transaksi penjualan kasir (dine in/take away/delivery).
  8. transaction_items: Rincian item menu yang dibeli di setiap transaksi.
  9. wastes: Log pencatatan bahan baku yang terbuang/rusak.
  10. opnames: Dokumen opname berkala audit stok bahan baku fisik.
  11. settings: Pengaturan global (site name, logo, favicon, tax, service percentage).
  12. licenses: Penyimpan kunci verifikasi lisensi lokal terenkripsi.

📂 Struktur Folder Utama Proyek

cafepos/
├── app/                         # 🧠 LOGIKA BACKEND UTAMA (PHP)
│   ├── Http/
│   │   ├── Controllers/         # Controller logika data & render Inertia
│   │   │   ├── PosController.php      # POS Checkout & Auto-Deduction BOM
│   │   │   ├── KdsController.php      # Monitor KDS dapur & update status
│   │   │   ├── IngredientController.php  # Inventory & resep produk
│   │   │   └── ...
│   │   └── Middleware/          # Filter Keamanan (CheckLicense, DemoModeMiddleware)
│   ├── Models/                  # Model Eloquent Database (Relationship)
│   │   ├── License.php
│   │   ├── Product.php
│   │   ├── Recipe.php
│   │   ├── Ingredient.php
│   │   └── ...
├── database/                    # 🗄️ SKEMA & SEEDER
│   ├── migrations/              # Berkas migrasi pembuatan tabel database
│   └── seeders/                 # Seeder master & dummy data pengujian lengkap
├── resources/                   # 🎨 FRONTEND VUE 3 & TYPESCRIPT
│   ├── css/                     # CSS & custom styling
│   └── js/                      # Kode Vue 3
│       ├── Components/          # Komponen UI (DemoModeBanner, Modal, dll)
│       ├── Layouts/             # Layout Dashboard (AdminLayout)
│       └── Pages/               # Halaman UI (POS, Kds, Products, Tables, Opnames)

💻 Panduan Instalasi Lokal di Windows (Non-Docker)

Tahap 1: Prasyarat Software

  • Pasang Laragon atau XAMPP dengan PHP minimal versi 8.2.
  • Pasang Node.js (Rekomendasi versi LTS 20).
  • Pasang Composer & Git for Windows.

Tahap 2: Langkah Instalasi

  1. Clone / Download Source Code:

    git clone <repository-url> cafepos
    cd cafepos
    
  2. Salin Konfigurasi Environment:

    cp .env.example .env
    
  3. Setup Database di File .env:
    Buat database MySQL baru bernama cafepos, lalu sesuaikan parameter koneksi di file .env:

    DB_C
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=cafepos
    DB_USERNAME=root
    DB_PASSWORD=password_mysql_anda
    
  4. Instal Dependensi & Generate Key:

    composer install
    npm install
    php artisan key:generate
    
  5. Migrasi Tabel & Seeder:
    CafePOS menyediakan pemisah seeder yang jelas untuk kebutuhan rilis produksi (bersih tanpa data dummy) maupun demo (lengkap dengan data penjualan). Jalankan perintah berikut:

    A. Untuk Lingkungan Demo / Development (Dengan Data Simulasi Lengkap):

    # Migrasi database dan isi konfigurasi dasar + data demo lengkap
    php artisan migrate:fresh --seed
    
    # Isi database dengan Dummy Data Cafe & Logistik lengkap
    php artisan db:seed --class=CafePOSDummySeeder
    php artisan db:seed --class=CompletePhasesSeeder
    

    B. Untuk Lingkungan Production (Sistem Bersih Siap Pakai):

    # Migrasi database kosong
    php artisan migrate:fresh
    
    # Isi konfigurasi dasar aplikasi, peran/hak akses, dan menu sidebar
    php artisan db:seed --class=ProductionSeeder
    
  6. Jalankan Server Lokal:
    Jalankan server Laravel backend dan Vite compiler frontend secara bersamaan:

    • Terminal 1: php artisan serve
    • Terminal 2: npm run dev
      Akses aplikasi melalui browser di: http://127.0.0.1:8000

🐳 Panduan Deployment Menggunakan Docker

Sistem orkestrasi Docker Compose CafePOS telah dikonfigurasi lengkap untuk siap di-deploy pada server Linux VPS Ubuntu produksi menggunakan container Nginx + PHP-FPM + MySQL + Redis.

Cara Deploy Cepat:

  1. Clone Project atau Upload Folder ke Server:
    git clone <repository-url> /var/www/cafepos
    cd /var/www/cafepos
    
  2. Buat File Environment Produksi:
    cp .env.example .env
    nano .env
    
    Atur APP_ENV=production, APP_DEBUG=false, DB_C DB_HOST=mysql`, dan atur password database MySQL yang aman.
  3. Bangun Container (Multi-stage Node & PHP Build):
    docker compose -f docker-compose.prod.yml up -d --build
    
  4. Inisialisasi Laravel Dalam Container:
    docker compose -f docker-compose.prod.yml exec app php artisan key:generate
    docker compose -f docker-compose.prod.yml exec app php artisan migrate --force
    docker compose -f docker-compose.prod.yml exec app php artisan db:seed --force
    docker compose -f docker-compose.prod.yml exec app php artisan storage:link
    
    # Caching optimasi rute & config
    docker compose -f docker-compose.prod.yml exec app php artisan config:cache
    docker compose -f docker-compose.prod.yml exec app php artisan route:cache
    docker compose -f docker-compose.prod.yml exec app php artisan view:cache
    

🔑 Modul Proteksi Lisensi

  1. Bypass Lisensi Otomatis (Local/Dev):
    Sistem verifikasi lisensi tidak akan aktif bila dijalankan di lingkungan pengembangan lokal:
    • .env diatur APP_ENV=local or APP_ENV=testing.
    • Host domain berupa: localhost, 127.0.0.1, IP private LAN (192.168.*, 10.*), domain .test atau .local.
  2. Kunci Lisensi Produksi:
    Di server produksi online, middleware license.verify akan mengunci sistem dan memaksa redirect ke /admin/license/activate sampai dimasukkan lisensi valid. Lisensi terikat pada APP_KEY. Jangan men-generate ulang APP_KEY setelah melakukan aktivasi lisensi.

🔑 Akun Uji Coba (Credentials)

Gunakan akun di bawah ini untuk menguji hak akses RBAC CafePOS di localhost atau server demo (berlaku bila menjalankan seeder demo):

Role PeranEmail LoginPasswordPenugasan Cabang
Super Adminsuperadmin@example.compasswordSemua Outlet Cabang
Admin Useradmin@example.compasswordSemua Outlet Cabang
Owner Userowner@example.compasswordSemua Outlet Cabang
Kasir Kemangcashier@example.compasswordDibatasi ke Outlet Kemang
Kasir Senopaticashier2@example.compasswordDibatasi ke Outlet Senopati
Kitchen Staff Kemangkitchen@example.compasswordDibatasi ke Dapur Kemang

Developed with ❤️ for Cafe & Restaurant Owners. Copyright © 2026. All rights reserved.

Produk lainnya

Semua Web App →