Sistem Point of Sale (POS) modern untuk Beta Mart yang dibangun dengan Next.js, TypeScript, dan Tailwind CSS.
- Overview Penjualan: Total penjualan, jumlah order, dan statistik harian
- Chart Interaktif: Grafik penjualan 7 hari terakhir dan produk terlaris
- Quick Actions: Akses cepat ke fitur POS, manajemen produk, laporan, dan invoice
- Interface Intuitif: Desain yang mudah digunakan untuk kasir
- Search & Filter: Pencarian produk dengan nama atau barcode, filter berdasarkan kategori
- Keranjang Belanja: Kelola item dengan mudah, update quantity, dan hapus item
- Checkout Process: Input data pelanggan opsional dan proses pembayaran
- Invoice Generation: Generate dan download invoice dalam format PDF
- Daftar Produk: View semua produk dengan informasi lengkap
- Stock Management: Update stock dengan tracking riwayat penyesuaian
- Status Monitoring: Alert untuk stock rendah dan habis
- Kategori: Organisasi produk berdasarkan kategori
- Daftar Invoice: View dan manage semua invoice yang telah dibuat
- Detail Invoice: Informasi lengkap transaksi
- PDF Download: Download invoice dalam format PDF siap print
- Search Function: Cari invoice berdasarkan ID atau nama pelanggan
- Sales Analytics: Grafik penjualan harian dan trend
- Top Products: Produk terlaris dengan visualisasi
- Category Distribution: Distribusi penjualan per kategori
- Performance Metrics: KPI dan metrics penting
- Store Settings: Konfigurasi informasi toko
- User Management: Pengaturan pengguna dan role
- System Configuration: Pengaturan pajak, mata uang, dan notifikasi
- Frontend: Next.js 14 + TypeScript
- Styling: Tailwind CSS
- Icons: Heroicons
- Charts: Recharts
- PDF Generation: jsPDF
- Notifications: React Hot Toast
- Date Handling: date-fns
- Node.js 18.x atau lebih baru
- npm atau yarn
-
Clone Repository
git clone https://github.com/kancralabs/pos_systems.git cd pos_systems -
Install Dependencies
npm install
-
Jalankan Development Server
npm run dev
-
Buka Browser Akses
http://localhost:3000untuk melihat aplikasi
src/
βββ app/ # App Router Pages
β βββ layout.tsx # Root Layout
β βββ page.tsx # Dashboard Page
β βββ pos/ # POS Page
β βββ products/ # Products Management
β βββ invoices/ # Invoice Management
β βββ reports/ # Reports & Analytics
β βββ settings/ # Settings Page
βββ components/ # Reusable Components
β βββ Header.tsx # Navigation Header
β βββ ProductCard.tsx # Product Display Card
β βββ Cart.tsx # Shopping Cart Component
βββ data/ # Data & Mock Data
β βββ dummy.ts # Sample Data
βββ types/ # TypeScript Type Definitions
β βββ index.ts # Main Types
βββ utils/ # Utility Functions
βββ pdfGenerator.ts # PDF Generation Utils
- Lihat overview penjualan dan statistik
- Akses quick actions untuk navigasi cepat
- Monitor performa dengan chart interaktif
- Pilih produk yang ingin dijual
- Atur quantity sesuai kebutuhan
- Masukkan data pelanggan (opsional)
- Proses checkout dan download invoice
- View daftar semua produk
- Update stock dengan alasan penyesuaian
- Monitor status stock (Normal/Rendah/Habis)
- View dan download invoice dalam PDF
- Analisis penjualan dengan berbagai chart
- Monitor produk terlaris dan trend
- Responsive Design: Optimal di desktop, tablet, dan mobile
- Modern Interface: Clean dan professional design
- Interactive Elements: Hover effects dan smooth transitions
- Toast Notifications: Feedback real-time untuk user actions
- Loading States: Proper loading indicators
- Error Handling: User-friendly error messages
# Development
npm run dev # Start development server
# Build
npm run build # Build for production
npm run start # Start production server
# Linting
npm run lint # Run ESLintBuat file .env.local untuk konfigurasi environment:
NEXT_PUBLIC_APP_NAME="Beta Mart POS"
NEXT_PUBLIC_STORE_NAME="Beta Mart"
NEXT_PUBLIC_CURRENCY="IDR"Edit file src/data/dummy.ts untuk menambahkan produk:
{
id: 'unique-id',
name: 'Nama Produk',
price: 10000,
stock: 50,
category: 'Kategori',
image: '/path/to/image',
barcode: 'barcode-number',
description: 'Deskripsi produk'
}-
Chart tidak muncul
- Pastikan container memiliki height yang defined
- Check console untuk error Recharts
-
PDF tidak generate
- Pastikan jsPDF sudah terinstall
- Check browser compatibility
-
Build error
- Jalankan
npm run lintuntuk check errors - Pastikan semua dependencies ter-install
- Jalankan
- Fork repository
- Buat feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push ke branch (
git push origin feature/AmazingFeature) - Buat Pull Request
Distributed under the MIT License.
- Developer: Beta Mart Development Team
- Project: POS System Showcase
Untuk pertanyaan dan support:
- Email: support@betamart.com
- GitHub Issues: Create Issue
- v2.0: Database integration (PostgreSQL/MongoDB)
- v2.1: User authentication & authorization
- v2.2: Multi-store support
- v2.3: Advanced reporting & analytics
- v2.4: Mobile app (React Native)
- v2.5: Cloud deployment & scaling
Beta Mart POS System - Solusi modern untuk kebutuhan retail Anda β¨