Staff app
The Staff app (resa-staff) is the restaurant POS used by waiters, bar/cashier, and management. Guests never use this app — the public digital menu lives in the Customer project.
Staff open tables, take and approve orders, take payments, manage products and accounts (müdavim), run reports, and close the business day. Everything talks to the shared Django API (resa_api).
| Repo | staff (resa-staff) |
| Stack | React 19, TypeScript, Vite 7, React Router 7, TanStack Query, Tailwind CSS 4, Radix / shadcn |
| Test host | resa.morvanes.info — see Environments |
| Local UI | http://localhost:5173 (or next free port) |
Who uses it
| Role | Login path | Typical work |
|---|---|---|
| Garson | /garson |
Floor: tables and orders only |
| Bar / Kasa (barkasa) | /barkasa |
Approvals, payments, checks, reports, müdavim, reservations |
| Patron | /patron (or /login) |
Full admin: products, settings, operation logs, day control |
After login, everyone lands on Masalar (/masalar). The dock/sidebar only shows tabs allowed for that role.
Documentation map
This section is split by concern and by POS page:
| Page | Contents |
|---|---|
| Development | Setup, env, scripts, conventions, troubleshooting |
| Architecture | Bootstrap, folders, API layer, state, polling, push |
| Auth & roles | Login, tokens, permissions, route gates |
| POS pages | Role → tab matrix and links to each screen |
| → Masalar | Live floor / orders |
| → Ürünler | Product catalog |
| → Adisyonlar | Calendar-day checks |
| → Raporlar | Business day & exports |
| → İşlem geçmişi | Audit log |
| → Rezervasyon | Reservations |
| → Müdavim | House accounts |
| → Ayarlar | Restaurant & personnel settings |
How it fits RESA
Staff UI ──HTTP + Bearer──► resa_api ──► Database
▲
Customer UI ────┘ (separate app; menu only)
Data flow matches the platform model: the client sends actions and reads live state from the API; the API persists to the database. See Home.