Smart Canteen & Catering Management System
QR-first pickup, payment gating, real-time dashboards, and kiosk-ready printing for high-volume counters.
Project
Smart Canteen & Catering Management System is an end-to-end platform that digitizes reception, kitchen, and user flows with QR-first pickup, payment gating, real-time dashboards, and resilient printing for kiosk counters.
What this solves
Eliminates manual bottlenecks at pickup, standardizes payment verification, provides real-time visibility into meal-type performance and revenue, and streamlines bulk/special order handling.
My role
End-to-end implementation across UX, state, API integration, device flows (QR + printing), and operational guardrails for high-volume counters.
Reception Dashboard
- Live order feed with auto-refresh, search by order code/customer
- Statuses: Pending → Delivered → Cancelled, gated by payment
- One-click delivery with SweetAlert confirmations
- Receipt printing with browser or QZ Tray/Electron fallback
- Meal-type analytics and quick filters with pagination
QR Scanning & Verification
- In-browser camera scanning via html5-qrcode
- Honeywell handheld support via device listener
- Robust parsing/validation with friendly error toasts
Order Management
- Bulk orders and 'Party on House' workflows
- Add Foods, Checkout, and Order History modules
- Payment toggle (Paid/Unpaid) with delivery guardrails
Printing & Kiosk Ready
- Browser/Electron printing with QZ Tray integration
- Dedicated print route that auto-closes post-print
- Thermal-printer friendly templates
User Portal
- Location/site selection, profile, bookings, checkout
- Bulk-order flow and role separation (User/Reception/Kitchen)
Tech Stack & Integrations
Next.js 15React 19Tailwind CSS v4ZustandSweetAlert2html5-qrcodeQZ Tray / Electrondate-fnsnext-qrcodexlsxsecure-lscrypto-jsREST APIsJWTdotenv
Results & Impact
- QR-first pickup cuts queue time and reduces errors
- Payment-gated delivery prevents mistakes
- Real-time dashboard with client-side pagination
- Unified printing pipeline across browser and kiosk
- Analytics by meal-type with quick filters