A professional, modern, and lightweight Point of Sale (POS) system built with Tauri v2 and Next.js 16, designed for high performance, security, and simplicity.
- Fast and intuitive interface for processing sales with optimized touch support.
- Virtual Numpad: Optimized touchscreen numeric keypad for quick cash entry.
- Touch-Optimized Cart: Large touch targets for interactive cart elements.
- Smart Change Calculation: Automated change display with validity checks.
- Receipt Generation: Backend integration for secure transaction recording.
- Product Management: Detailed product tracking with categories and images.
- Material & Recipe Management: Track raw materials and define recipes for complex items (e.g., drinks, food).
- Real-time Stock Tracking: Monitor inventory levels with low-stock alerts.
- Customer Information: Track customer profiles and preferences.
- Purchase History: Comprehensive view of past transactions with filters and search.
- Centered Global Action Bar: A sleek, floating island for high-level app control (Display Zoom, Page Width, and Navigation).
- Draggable Contextual MiniTuner: A smart, persistent tuning panel that follows your selection and allows real-time styling of components.
- Specialized Component Tuners: Dedicated interactive environments for fine-tuning the Product Grid, Sidebar Layout, Virtual Numpad, and Order History.
- Smooth Scaling Engine: Fluid, non-snapping item resizing powered by dynamic CSS Grid
auto-fillandminmaxlogic. - Live Color Sampler: Extract and apply brand colors directly from product images to your global theme.
- Apple-Inspired Dark Mode: A sleek, flat interface utilizing glassmorphism,
framer-motionanimations, and modern aesthetics. - Layout Presets: Quickly toggle between Compact POS (high density) and Cozy Desktop (spacious) modes.
- Export Formats: CSV, XLSX, and ODS.
- Thai Accounting Reports: Built-in support for Thai Sales Tax Reports (ΰΈ£ΰΈ²ΰΈ’ΰΈΰΈ²ΰΈΰΈ ΰΈ²ΰΈ©ΰΈ΅ΰΈΰΈ²ΰΈ’).
- Encrypted Database: Local data is protected via SQLCipher (AES-256 encryption).
- Local-First: Your data stays on your machine.
- Mock API Mode: Develop and test the UI directly in the browser without needing the Tauri backend.
- Frontend: Next.js 16 (React 19), Tailwind CSS 4, Framer Motion
- Backend: Tauri v2 (Rust)
- Database: SQLite with SQLCipher (via Diesel ORM in Rust)
- Automatic Path Resolution: Uses
directoriescrate to store data securely in the system's local data directory (e.g.,~/.local/share/simple-poson Linux).
- Automatic Path Resolution: Uses
- Icons: React Icons (Font Awesome & more)
- State Management: React Hooks & Context (optimized with specialized providers)
simple-pos/
βββ src/
β βββ app/ # Next.js App Router pages and layouts
β βββ components/ # Modularized UI components
β βββ context/ # Global state management
β βββ lib/
β β βββ api/ # Module-based service layer
β β βββ types/ # TypeScript definitions
β β βββ utils/ # Shared helper functions
β βββ constants/ # Permanent application constants
βββ src-tauri/ # Rust backend source
βββ TODO.md # TODO list
βββ package.json
Before you begin, ensure you have the following installed:
- Node.js (v24 or newer recommended)
- Rust & Cargo (latest stable)
- System Dependencies:
- Linux: Build essentials, webkit2gtk
- macOS: Xcode Command Line Tools, OpenSSL
- Windows: Microsoft Visual Studio C++ Build Tools, OpenSSL
npm installnpm run tauri devNote for Linux Users: The
tauriscript automatically setsWEBKIT_DISABLE_DMABUF_RENDERER=1to prevent rendering issues.
To build a standalone executable:
npm run tauri buildMIT