Overview
Full-featured POS with order tracking, customer accounts, pricing rules, analytics, hardware integration, and SMS notifications. Built with Flask + SQLAlchemy and deployed as a local server for reliability.
Screenshots
Problem
Legacy POS tools were brittle, expensive, and slow. Many owners kept spare parts for aging computers because a hardware failure could take the whole system down. The goal was a low‑maintenance, local system that stays fast and dependable without cloud dependencies.
Core Features
- Order management from intake to pickup
- Customer accounts with credit balance and audit trail
- Multi-method payments (cash, card, credit)
- Dynamic pricing by garment and service type
- Analytics and reporting exports
- SMS notifications via Twilio
- Multi-station support (server, kiosks, scan stations)
System Architecture
- Flask app with SQLAlchemy ORM
- SQLite database in WAL mode
- Waitress WSGI server in production
- Bootstrap + vanilla JS front end
Hardware + Network Topology
Software Data Flow
Data Model (Summary)
- Customer → Order → Garment → GarmentService (pricing)
- Payment + CreditTransaction for balance and audit trail
- CashReconciliation for daily cash closeout
- Employee + TimeLog for staff tracking
Deployment Modes
- Server mode: main POS terminal (Waitress on port 5050)
- Kiosk mode: customer pickup stations (Chrome kiosk)
- Scan station: barcode intake workstations
- Development mode: Flask dev server
Sitemap Summary
- Public entry + health check
- Admin dashboard, settings, and employee management
- Customer management and order intake flow
- Order builder, confirmation, and payment processing
- Pickup kiosk + scan station workflows
- Reporting, cash reconciliation, and exports
- Printing pipeline and hardware services
Hardware Integration
- Thermal label and receipt printers (Bixolon/Epson)
- USB/Bluetooth barcode scanners (HID mode)
- Cash drawer integration
- Credit card terminal integration
Scalability
Scales from a single‑terminal shop to multi‑station operations with self‑serve kiosks. Because the system runs on a dedicated in‑store VLAN, any worker can access the software instantly from any device on the network (phones, iPads, scan stations, etc.).
Security & Privacy
- Local-first data storage with scheduled backups
- No customer data required to leave the premises
- Configurable roles and admin settings
Challenges & Lessons
- Legacy hardware and drivers across multiple printer models
- Reliability under intermittent network and power issues
- UX design for fast intake with minimal typing
Outcome
A stable, local POS platform that improves speed and reliability for daily operations while remaining flexible enough for shops of any size. Currently deployed across a small chain of dry cleaning stores in the Los Angeles area.
Next Steps
Continue expanding integrations (payments, printer models) and refine analytics/reporting workflows as the business grows.
Stack
Flask, SQLAlchemy, SQLite (WAL), Bootstrap, Waitress, Twilio.