Skip to content

About

POS

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

πŸͺ Kasir Waroenk - Aplikasi Point of Sale (POS)

Aplikasi Point of Sale (POS) modern berbasis web untuk mengelola transaksi penjualan di warung, toko, atau restoran kecil. Dibangun dengan Laravel 12 dan TailwindCSS untuk pengalaman pengguna yang optimal di berbagai perangkat.


πŸ“‹ Deskripsi Project

Kasir Waroenk adalah sistem kasir digital yang dirancang untuk mempermudah pengelolaan transaksi penjualan harian. Aplikasi ini menyediakan antarmuka yang intuitif dan responsif, memungkinkan kasir untuk memproses transaksi dengan cepat dan efisien, serta mencetak nota pembayaran dalam format thermal printer 80mm (Not Continued).

🎯 Tujuan Project

  • Mempercepat proses transaksi penjualan
  • Mengelola stok produk secara real-time
  • Mencetak nota pembayaran otomatis (Not Continued)
  • Menyediakan laporan transaksi yang akurat
  • Mendukung multiple user dengan role-based access

✨ Fitur-Fitur Utama

πŸ” Autentikasi & Manajemen User

  • Login/Logout System - Sistem autentikasi dengan Laravel Breeze
  • Role-Based Access Control - Menggunakan Spatie Permission (Admin & Kasir)
  • User Management - CRUD user dengan assignment role

πŸ›οΈ Manajemen Produk

  • CRUD Produk - Tambah, edit, hapus produk
  • Kategori Produk - Organisasi produk berdasarkan kategori
  • Upload Gambar - Mendukung upload gambar produk (Intervention Image)
  • Manajemen Stok - Tracking stok produk real-time
  • Filter Kategori - Filter produk berdasarkan kategori di halaman kasir

πŸ’° Sistem Kasir (Point of Sale)

  • Keranjang Belanja - Tambah/kurangi/hapus item dari keranjang
  • Validasi Stok - Otomatis cek ketersediaan stok sebelum checkout
  • Metode Pembayaran - Tunai, QRIS, Debit, Transfer
  • Perhitungan Pajak - Pajak dalam Rupiah atau Persen (%)
  • Perhitungan Kembalian - Otomatis menghitung kembalian pembayaran
  • Nomor Meja - Input nomor meja untuk transaksi dine-in (opsional)
  • Catatan Transaksi - Tambahkan catatan khusus pada transaksi

🧾 Nota Pembayaran (Not Continued)

  • Nota Digital (Not Continued) - Tampilan nota dalam modal setelah transaksi sukses
  • Print Nota (Not Continued) - Cetak nota format thermal printer 80mm
  • Riwayat Transaksi - List 5 transaksi terakhir dengan tombol cetak ulang (Not Continued)
  • Auto-Open Receipt (Not Continued) - Nota otomatis terbuka setelah pembayaran berhasil
  • Format Nota Lengkap (Not Continued) - Header toko, detail item, subtotal, pajak, total, kembalian

πŸ“Š Manajemen Transaksi

  • Kode Transaksi Unik - Generate kode transaksi otomatis (TRX-YYYYMMDD-XXXX)
  • Detail Transaksi - Simpan detail lengkap setiap transaksi
  • Riwayat Penjualan - List semua transaksi dengan filter
  • View Detail - Lihat detail transaksi lengkap
  • Export Data - Export transaksi ke Excel/PDF (via Yajra DataTables)

βš™οΈ Pengaturan Sistem

  • Setting Aplikasi - Nama toko, alamat, telepon, dll
  • Kustomisasi - Setting dapat diubah dari dashboard admin
  • Logo & Branding - Upload logo toko untuk nota (Not Continued)

πŸ“± Responsive Design

  • Mobile-First - Optimized untuk smartphone dan tablet
  • Desktop View - Sticky cart panel untuk desktop
  • Touch-Friendly - Button dan interaction yang mudah di-tap
  • Dark Mode Support - Dukungan tema gelap

πŸ”„ Alur Sistem

1️⃣ Alur Login & Autentikasi

User Akses Aplikasi
    ↓
Login Page (Email & Password)
    ↓
Validasi Credentials
    ↓
Redirect berdasarkan Role:
    - Admin β†’ Dashboard Admin
    - Kasir β†’ Halaman Kasir (POS)

2️⃣ Alur Transaksi Penjualan (Kasir)

1. Kasir Login
    ↓
2. Tampil Halaman POS
    ↓
3. Pilih Kategori (Opsional)
    ↓
4. Pilih Produk β†’ Klik "Tambah ke Keranjang"
    ↓
5. Produk masuk keranjang (Validasi stok otomatis)
    ↓
6. Atur jumlah (Quantity) dengan tombol +/-
    ↓
7. Klik "Proses Pesanan"
    ↓
8. Modal Pembayaran terbuka:
    - Pilih Metode Pembayaran (Tunai/QRIS/Debit/Transfer)
    - Input Jumlah Pembayaran
    - Tambahkan Pajak (Rupiah/Persen)
    - Input Nomor Meja (Opsional)
    - Tambahkan Catatan (Opsional)
    ↓
9. Sistem menghitung otomatis:
    - Subtotal (Harga Γ— Quantity semua item)
    - Pajak (Jika ada)
    - Total (Subtotal + Pajak)
    - Kembalian (Bayar - Total)
    ↓
10. Klik "Bayar Sekarang"
    ↓
11. Validasi Backend:
    - Cek stok masih tersedia
    - Cek jumlah pembayaran >= total
    ↓
12. Jika Valid:
    - Simpan transaksi ke database
    - Kurangi stok produk otomatis
    - Generate kode transaksi unik
    ↓
13. Redirect ke Halaman Kasir + Flash Message Success
    ↓
14. Modal Nota otomatis terbuka (Not Continued)
    ↓
15. Tampil detail transaksi lengkap di modal (Not Continued)
    ↓
16. Kasir dapat:
    - Cetak Nota (Print) (Not Continued)
    - Tutup Modal
    ↓
17. Keranjang ter-reset otomatis
    ↓
18. List "Transaksi Terakhir" terupdate (5 transaksi terakhir) (Not Continued)
    ↓
19. Kasir dapat cetak ulang nota dari list transaksi (Not Continued)

3️⃣ Alur Manajemen Produk (Admin)

Admin Login
    ↓
Dashboard Admin
    ↓
Menu Produk:
    - Lihat List Produk (DataTables)
    - Tambah Produk Baru (Nama, Kategori, Harga, Stok, Gambar)
    - Edit Produk (Update data)
    - Hapus Produk (Soft delete)
    ↓
Produk langsung tersedia di Halaman Kasir

4️⃣ Alur Manajemen Kategori (Admin)

Admin Login
    ↓
Menu Kategori:
    - Lihat List Kategori
    - Tambah Kategori Baru
    - Edit Kategori
    - Hapus Kategori
    ↓
Kategori muncul sebagai filter di Halaman Kasir

5️⃣ Alur Laporan Transaksi (Admin)

Admin Login
    ↓
Menu Transaksi:
    - Lihat semua transaksi (DataTables)
    - Filter berdasarkan tanggal
    - View detail transaksi
    - Export ke Excel/PDF
    ↓
Detail transaksi menampilkan:
    - Kode transaksi
    - Tanggal & waktu
    - Kasir yang melayani
    - List produk & quantity
    - Metode pembayaran
    - Subtotal, pajak, total
    - Jumlah bayar & kembalian

πŸ› οΈ Teknologi yang Digunakan

Backend

  • Laravel 12 - PHP Framework
  • MySQL - Database
  • Spatie Permission - Role & Permission Management
  • Intervention Image - Image Processing

Frontend

  • TailwindCSS 3 - CSS Framework
  • Alpine.js - Lightweight JavaScript Framework
  • Blade Template - Laravel Templating Engine
  • Vite - Frontend Build Tool

Library Tambahan

  • Yajra DataTables - Server-side DataTables
  • Laravel Debugbar - Development Debugging
  • SweetAlert2 - Beautiful Alert Dialogs

πŸ“¦ Instalasi dan Setup Project

Prasyarat

  • PHP >= 8.2
  • Composer
  • Node.js & NPM
  • MySQL/MariaDB

Langkah Instalasi

  1. Clone Repository

    git clone https://github.com/JunedSetiawan/waroenk-kasir.git
    cd waroenk-kasir
  2. Install Dependencies

    composer install
    npm install
  3. Environment Configuration

    cp .env.example .env

    Atau jika command tidak berfungsi, copy manual file .env.example dan rename menjadi .env

  4. Konfigurasi Database

    Buka file .env dan sesuaikan dengan database lokal Anda:

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=kasir_waroenk
    DB_USERNAME=root
    DB_PASSWORD=
  5. Generate Application Key

    php artisan key:generate
  6. Migrasi Database & Seeding

    php artisan migrate --seed
  7. Jalankan Aplikasi

    composer run dev

    Perintah ini akan menjalankan:

    • php artisan serve (Laravel development server)
    • npm run dev (Vite frontend build)
  8. Akses Aplikasi

    Tunggu beberapa saat hingga proses selesai, lalu buka browser dan akses URL yang muncul pada terminal (biasanya http://127.0.0.1:8000)


πŸ‘₯ Akun Default

Setelah seeding, Anda dapat login dengan akun berikut:

Email Password Role Akses
admin@warung.com password Admin Full Access (Dashboard, Produk, Kategori, User, Transaksi, Setting)
kasir1@warung.com password Kasir Point of Sale (POS) & Riwayat Transaksi
kasir2@warung.com password Kasir Point of Sale (POS) & Riwayat Transaksi

πŸ“Έ Screenshot

Halaman Kasir (POS)

  • Tampilan produk dengan filter kategori
  • Keranjang belanja dengan sticky positioning
  • List transaksi terakhir dengan tombol print

Modal Pembayaran

  • Form pembayaran lengkap
  • Pilihan metode pembayaran
  • Perhitungan otomatis kembalian

Nota Pembayaran (Not Continued)

  • Format thermal printer 80mm
  • Detail transaksi lengkap
  • Tombol print untuk cetak ulang

Dashboard Admin

  • Statistik penjualan
  • Manajemen produk, kategori, user
  • Laporan transaksi

πŸ“„ Lisensi

Lisensi lengkap untuk proyek ini tersedia di file LICENSE pada root repository. Silakan lihat LICENSE untuk teks dan ketentuan lisensi (MIT License).


πŸ“ž Kontak

Untuk pertanyaan atau saran, silakan hubungi:


Dibuat dengan ❀️ menggunakan Laravel 12 & TailwindCSS

About

POS

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages