Welcome to RESA

RESA is a restaurant operations platform. It helps restaurants run day-to-day service: tables, orders, products, reservations, and regulars — and it also offers guests a digital menu they can open from a QR code.

This documentation is for developers and maintainers. Use it to understand how the system is structured and where to work when you change something.

What you will find here

If you want to… Start with
Understand how the pieces fit together How RESA is built below
See local ports and test URLs Environments
Deploy on a blank AWS server Fresh server installation
Update an existing deployment Updating
Configure AWS security groups Security settings
Work on the API or data model API
Work on the guest digital menu Customer app
Work on the staff POS Staff app

How RESA is built

RESA uses three layers. Data moves database → server → client, or the other way when a user takes an action.

Layer What it is
Database Where data is stored.
Server / Backend API Where data is processed and saved.
Client Where people interact — sending input to the server, or showing what the server returns.

Reading data: the client asks the server → the server loads from the database → the client shows it to the user.

Writing data: the user acts in the client → the client sends it to the server → the server processes it and stores it in the database.

The apps

  • API — Django backend shared by all clients.
  • Staff — POS for waiters (garson), bar/cashier (barkasa), and management (patron).
  • Customer — guest digital menu (browse categories, prices, availability; ordering later).

New here? Read the overview above, then pick the layer or app you need to change.