KasirKu adalah aplikasi Point of Sales (POS) modern, cepat, dan 100% offline-first yang dibangun menggunakan React, TypeScript, Vite, dan dibalut sebagai Desktop App menggunakan Electron. Aplikasi ini dirancang khusus untuk memenuhi kebutuhan bisnis Retail (Toko Kelontong, Minimarket) maupun F&B (Restoran, Kafe).
- Dual Mode: Mendukung mode operasi Retail (Checkout Langsung) dan Restaurant (Sistem Meja, Dine-in/Takeaway, dan Billing Queue).
- Offline First: Semua data disimpan secara aman secara lokal menggunakan IndexedDB (via Dexie.js). Tidak memerlukan koneksi internet sama sekali.
- Manajemen Produk & Stok: Melacak inventaris barang, menambah produk, menetapkan harga, dan mencatat riwayat mutasi stok.
- Laporan & Analitik: Dashboard laporan penjualan harian dengan grafik visual (Recharts) dan fitur Export ke CSV.
- Print Struk (Thermal): Integrasi CSS khusus untuk mesin Printer Thermal kasir yang membuang elemen UI yang tidak perlu.
- Backup & Restore: Mengamankan database dengan mengekspor data ke dalam file
.jsonportabel dan memulihkannya kapan saja. - Mode Desktop: Berjalan murni sebagai aplikasi Windows
.exeberkat integrasi Electron.
- Frontend Framework: React 18 + Vite
- Bahasa: TypeScript
- Database: Dexie.js (IndexedDB Wrapper)
- State Management: Zustand
- Styling: Vanilla CSS + Tailwind CSS utilities logic (Custom Design System)
- Desktop Wrapper: Electron
Ikuti langkah-langkah di bawah ini untuk menjalankan aplikasi di lingkungan lokal Anda.
Pastikan komputer Anda sudah terinstal:
- Node.js (Versi 18 atau lebih baru)
- Git (opsional, untuk clone repository)
-
Clone repositori ini atau ekstrak folder proyek:
git clone https://github.com/username/kasirku.git cd kasirku -
Instal seluruh dependencies:
npm install
-
Menjalankan Mode Development (Web):
npm run dev
Buka http://localhost:5173 di peramban Anda.
-
Menjalankan Mode Development (Desktop / Electron):
npm run dev:electron
Perintah ini akan membuka KasirKu di dalam jendela aplikasi Desktop mandiri.
-
Build ke Aplikasi Production (.exe):
npm run build:electron
Aplikasi installer akan dibuat di dalam folder
dist_electron.
Meskipun aplikasi telah diuji coba dan berfungsi dengan baik, ada beberapa batasan teknis karena sifatnya yang 100% offline:
- Batas Kapasitas Penyimpanan: Data disimpan di memori browser / profil sistem operasi lokal. Menghapus data Cache/Site Data secara paksa dapat menyebabkan hilangnya data KasirKu jika Anda belum melakukan Backup.
- Tanpa Sinkronisasi Multi-Device: Karena aplikasi sepenuhnya luring, Anda tidak bisa menghubungkan dua komputer kasir secara real-time ke satu database tanpa konfigurasi server pihak ketiga.
- Jika ada bug tambahan, silakan laporkan melalui halaman Issues di repositori ini.
Proyek KasirKu ini bersifat sangat terbuka. Jika Anda memiliki ide perbaikan, menemukan bug, atau ingin menambahkan integrasi perangkat keras (seperti laci uang atau pemindai barcode tingkat lanjut), silakan berkontribusi:
- Fork repositori ini.
- Buat branch fitur Anda (
git checkout -b feature/NamaFitur). - Commit perubahan Anda (
git commit -m 'Menambahkan fitur baru'). - Push ke branch (
git push origin feature/NamaFitur). - Buat Pull Request (PR).
If you find this project helpful, saves you time, or keeps your store running smoothly, please consider supporting the development!
👉 Donate & Support via Tako.id
Didistribusikan di bawah MIT License.
Anda bebas menggunakan, memodifikasi, dan mendistribusikan perangkat lunak ini, baik untuk proyek pribadi maupun komersial, dengan syarat tetap menyertakan hak cipta asli. Selengkapnya, silakan baca file LICENSE.