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.
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).
- 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
- Login/Logout System - Sistem autentikasi dengan Laravel Breeze
- Role-Based Access Control - Menggunakan Spatie Permission (Admin & Kasir)
- User Management - CRUD user dengan assignment role
- 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
- 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 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
- 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)
- Setting Aplikasi - Nama toko, alamat, telepon, dll
- Kustomisasi - Setting dapat diubah dari dashboard admin
- Logo & Branding - Upload logo toko untuk nota (Not Continued)
- 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
User Akses Aplikasi
β
Login Page (Email & Password)
β
Validasi Credentials
β
Redirect berdasarkan Role:
- Admin β Dashboard Admin
- Kasir β Halaman Kasir (POS)
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)
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
Admin Login
β
Menu Kategori:
- Lihat List Kategori
- Tambah Kategori Baru
- Edit Kategori
- Hapus Kategori
β
Kategori muncul sebagai filter di Halaman Kasir
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
- Laravel 12 - PHP Framework
- MySQL - Database
- Spatie Permission - Role & Permission Management
- Intervention Image - Image Processing
- TailwindCSS 3 - CSS Framework
- Alpine.js - Lightweight JavaScript Framework
- Blade Template - Laravel Templating Engine
- Vite - Frontend Build Tool
- Yajra DataTables - Server-side DataTables
- Laravel Debugbar - Development Debugging
- SweetAlert2 - Beautiful Alert Dialogs
- PHP >= 8.2
- Composer
- Node.js & NPM
- MySQL/MariaDB
-
Clone Repository
git clone https://github.com/JunedSetiawan/waroenk-kasir.git cd waroenk-kasir -
Install Dependencies
composer install npm install
-
Environment Configuration
cp .env.example .env
Atau jika command tidak berfungsi, copy manual file
.env.exampledan rename menjadi.env -
Konfigurasi Database
Buka file
.envdan 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=
-
Generate Application Key
php artisan key:generate
-
Migrasi Database & Seeding
php artisan migrate --seed
-
Jalankan Aplikasi
composer run dev
Perintah ini akan menjalankan:
php artisan serve(Laravel development server)npm run dev(Vite frontend build)
-
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)
Setelah seeding, Anda dapat login dengan akun berikut:
| 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 |
- Tampilan produk dengan filter kategori
- Keranjang belanja dengan sticky positioning
- List transaksi terakhir dengan tombol print
- Form pembayaran lengkap
- Pilihan metode pembayaran
- Perhitungan otomatis kembalian
- Format thermal printer 80mm
- Detail transaksi lengkap
- Tombol print untuk cetak ulang
- Statistik penjualan
- Manajemen produk, kategori, user
- Laporan transaksi
Lisensi lengkap untuk proyek ini tersedia di file LICENSE pada root repository. Silakan lihat LICENSE untuk teks dan ketentuan lisensi (MIT License).
Untuk pertanyaan atau saran, silakan hubungi:
- GitHub: JunedSetiawan
Dibuat dengan β€οΈ menggunakan Laravel 12 & TailwindCSS