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.