917a6cb61d49840b1af876d27f62c5681e5b33c8
Ranaze POS
Self-hosted tablet-first POS for a boba shop.
Stack
- Frontend:
React+Vite - Backend:
ASP.NET Coreminimal API - Database: self-hosted
MongoDBviaMongoDB.Driver
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/: ASP.NET Core API and Mongo models
Environment
Copy .env.example to .env in the repo root:
MONGODB_URI=mongodb://127.0.0.1:27017/ranaze-pos
PORT=4000
Install
npm install
dotnet restore server/RanazePos.Api.csproj
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
Languages
JavaScript
55.5%
C#
25.4%
CSS
18.7%
HTML
0.4%