# Ranaze POS Self-hosted tablet-first POS for a boba shop. ## Stack - Frontend: `React` + `Vite` - Backend: `ASP.NET Core` minimal API - Database: self-hosted `MongoDB` via `MongoDB.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`, and `completed` statuses - Menu management persisted in MongoDB - Seeded default drinks on first launch ## Project layout - `client/`: React tablet UI - `server/`: ASP.NET Core API and Mongo models ## Environment Copy `.env.example` to `.env` in the repo root: ```env MONGODB_URI=mongodb://127.0.0.1:27017/ranaze-pos PORT=4000 ``` ## Install ```bash npm install dotnet restore server/RanazePos.Api.csproj ``` ## Run in development Terminal 1: ```bash npm run dev:server ``` Terminal 2: ```bash npm run dev:client ``` Open `http://localhost:5173`. ## Build and run ```bash 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