Qasirku Smart POS
Smart POS & FIFO Inventory Management System
Kebutuhan: PHP 8.4+ (bcmath, mbstring, pdo_mysql, xml, curl, fileinfo) · MySQL 8 · Composer 2 · Node.js 20.19+ (opsional: WhatsApp & build ulang) · RAM 1 GB
LaundryFlow adalah aplikasi manajemen operasional laundry untuk UMKM, untuk satu outlet maupun banyak cabang. Aplikasi ini mencakup seluruh alur kerja laundry:
Yang Anda beli adalah source code lengkap, bukan langganan. Pasang di server dan domain Anda sendiri, bayar sekali, dan data laundry tetap milik Anda.
Dibangun dengan Laravel 13, Inertia.js 2, Vue 3 (TypeScript), dan Tailwind CSS sebagai satu aplikasi monolit yang mudah dipasang dan dikembangkan.
| Modul | Isi |
|---|---|
| Dashboard | Order hari ini, menunggu, diproses, siap diambil, lewat estimasi, pemasukan harian/bulanan, tunggakan, tren 14 hari, status cucian berjalan |
| Buat Order | Cari/tambah pelanggan atau pelanggan umum, layanan kiloan & satuan, biaya tambahan, diskon (Rp/%), DP, estimasi otomatis, express, Simpan & Cetak Nota |
| Papan Pengerjaan | Kolom per tahap, seret-lepas, tombol lanjut, penanda express & terlambat |
| Order Laundry | Filter status/tanggal/pembayaran, detail, riwayat status (siapa & kapan), pembatalan beralasan, cetak ulang nota |
| Pembayaran | Tunai/transfer/QRIS, DP, cicilan, refund, pembatalan dengan catatan pembalik, wajib lunas saat diambil (opsional) |
| Multi Cabang | Outlet dengan kode, alamat & telepon nota, tarif per cabang, order/kas/papan per cabang, ambil & lunasi lintas cabang, perbandingan cabang |
| Pelanggan | Data, riwayat order, total transaksi, tagihan, persetujuan notifikasi WhatsApp |
| Layanan & Tarif | Kiloan & satuan, minimal berat, estimasi jam, express, aktif/nonaktif, harga tersimpan sebagai snapshot per order |
| Laporan | Pemasukan vs nilai order, per metode, per status, layanan terlaris, pelanggan teratas, tunggakan, ekspor CSV |
| Notifikasi otomatis 4 peristiwa, template pesan, jeda acak & batas harian, kirim tes, riwayat pesan, kirim ulang, sambung ulang, cek kesehatan otomatis, tombol wa.me manual | |
| Sistem | Pengguna, role & permission, menu dinamis, pengaturan usaha (logo nota, zona waktu, prefix nomor, tahapan, ukuran nota), audit log, notifikasi lonceng, mode gelap |
Pesan dikirim lewat layanan kecil whatsapp-gateway/ (Node.js) yang ikut di dalam source code. Jalankan gateway dengan PM2, lalu sambungkan nomor dengan memindai QR dari HP di menu Pengaturan › WhatsApp.
⚠️ Peringatan penting
Gateway memakai Baileys, pustaka tidak resmi yang meniru WhatsApp Web. Cara ini melanggar Ketentuan Layanan WhatsApp. Akibatnya, nomor pengirim bisa diblokir sementara atau permanen kapan saja, tanpa peringatan.
- Gunakan nomor khusus untuk notifikasi, bukan nomor utama laundry.
- Jangan dipakai untuk promosi, broadcast, atau pesan massal.
- Untuk kebutuhan resmi atau volume besar, gunakan WhatsApp Business Platform (Cloud API) dari Meta.
- Risiko pemakaian sepenuhnya ditanggung pembeli.
Pengaman bawaan:
Fitur ini sepenuhnya opsional. LaundryFlow tetap berjalan normal tanpa gateway, dan tombol WhatsApp manual (wa.me) tetap tersedia.
bcmath, pdo_mysql, mbstring, xml, curl, dan fileinfopublic/build) sudah disertakan.composer install
npm install
cp .env.example .env
php artisan key:generate
php artisan migrate --seed
php artisan storage:link
npm run build
php artisan serve
Panduan production (Nginx, PHP-FPM, Supervisor, cron, HTTPS) dan backup tersedia lengkap di folder docs/. Di production, php artisan laundryflow:install membuat usaha dan akun Owner pertama. Mode APP_ENV=demo membuat aplikasi hanya-baca untuk demo publik.
| Peran | Password | |
|---|---|---|
| Owner | owner@laundryflow.test | password |
| Kasir | kasir@laundryflow.test | password |
| Operator | operator@laundryflow.test | password |
| Kasir Cabang Antapani | kasir.antapani@laundryflow.test | password |
Data demo berisi 2 cabang, 8 layanan, 40 pelanggan, dan ±120 order. Akun demo tidak dibuat bila APP_ENV=production.
Setelah pembelian, Anda mendapat kode lisensi RL-XXXX-XXXX-XXXX-XXXX di halaman Unduhan akun RadhCloud dan di email pembelian. Kode dimasukkan sekali saat aplikasi pertama dibuka. Internet hanya dibutuhkan saat aktivasi.
LICENSE.md.migrate:fresh atau key:generate tidak menghapusnya.DECIMAL dan dihitung di server.
