Background & Goals
Managing bar and hospitality operations requires high transaction speed, dynamic order management, and precision inventory control (such as handling liquor bottle variants, volumes, and batch lots). New-Bar-POS was built as an end-to-end, high-performance web application designed to streamline cashier workflows, simplify complex multi-size inventory tracking, and provide real-time sales insights for bar and restaurant managers.
Key Features & User Flows
- Point of Sale (POS) Interface: Fast, responsive register & touch-friendly checkout for cashiers with QR menu integration, table-side ordering, barcode scanning, and instant bill generation.
- Advanced Inventory & Batch Management: Multi-variant product support (e.g., 500ml vs 750ml bottle sizes), FIFO lot/batch tracking, automatic reorder level alerts, and GRN (Goods Received Note) processing.
- Multi-Shop & Role-Based Access Control: Manage multiple bar locations, assign custom roles/permissions (Manager, Bartender, Cashier), and inspect detailed audit trails.
- Table & Kitchen Management: Real-time table layout monitoring, order station status, and refunds/promotions handling.
- Analytics & Financial Reporting: Interactive profit & loss insights, sales breakdowns, PDF/Excel exportable reports, and customer loyalty tracking.
Architecture & Design Decisions
- Monolithic Modern Stack: Utilized Laravel 12 on the backend coupled seamlessly with React 19 via Inertia.js to eliminate full API boilerplate while delivering a single-page application (SPA) user experience.
- Design System: Engineered UI components using Radix UI primitives and Tailwind CSS v4 for accessible, clean, and dynamic responsive layouts.
- State & Asset Bundle: Leveraged Vite 7 for rapid build processing and Ziggy for seamless Laravel route binding inside React components.
Challenges Solved
- Lot/Batch FIFO Inventory Deduction: Developed precise database transaction logic to automatically deduct inventory from the oldest active lot (FIFO) while preserving cost-of-goods-sold (COGS) accuracy per sale.
- Backward-Compatible Database Migrations: Integrated complex variant and batch schema relationships (product_variants, inventory_lots, sale_item_lots) while maintaining complete backward compatibility with existing single-stock products and historical sales reporting.