1.2 KiB
1.2 KiB
Ranaze POS
Self-hosted tablet-first POS for a boba shop.
Stack
- Frontend:
React+Vite - Backend:
Express - Database: self-hosted
MongoDBviaMongoose
Features
- Customer order builder for drinks, size, sweetness, ice, toppings, and notes
- Ticket flow with cash, tab, and pay-later placeholders
- Live order queue with
new,making,ready, andcompletedstatuses - Menu management persisted in MongoDB
- Seeded default drinks on first launch
Project layout
client/: React tablet UIserver/: Express API and Mongo models
Environment
Create .env in the repo root:
MONGODB_URI=mongodb://localhost:27017/ranaze-pos
PORT=4000
Install
npm install
Run in development
Terminal 1:
npm run dev:server
Terminal 2:
npm run dev:client
Open http://localhost:5173.
Build and run
npm run build
npm start
The production server serves the built frontend from client/dist.
What is still missing
- Credit card processing
- Receipt and label printing
- Employee authentication and permissions
- Multi-location inventory tracking
- Hardware integrations for cash drawer and scanners