JAVOXIR
Home/Projects/Restora
03POS · Full-stack·2026

RESTORA

Restaurant management app that replaces the paper order book — table layout, per-table orders and automatic billing

Role

Full-stack development & architecture

Duration

Ongoing

Year

2026

Visit site

Demo access

This demo requires a login. Request credentials:

Live preview

2
Product tiers (v1/v2)
4
Staff roles (v2)
HTTP-only
JWT cookie auth
Live
Production deployed

Services

  • Web Application
  • REST API & Backend
  • UI/UX Design

Stack

Next.js 16React 19TypeScriptTailwind CSS v4TurbopackDjango 6Django REST FrameworkPostgreSQLdjango-mpttSimpleJWTGunicornNginxVercelDigitalOcean

Overview

Restora is a restaurant management app that replaces the paper order book: lay out your tables and rooms, take orders per table, override prices on the fly and get the bill totaled automatically. It ships in two tiers from a single header switch — a lightweight cashier tool for small venues, and a full role-based system for busy kitchens — so a restaurant can start simple and grow into the larger version without losing any data.

Challenge

Most restaurant software is built for large operations and overwhelms a small café that just wants to stop losing track of bills. But a tool that stays too simple forces a painful migration once the business grows and the kitchen and floor become separate teams. The product had to serve both the one-person cashier and the multi-role kitchen from the same codebase and data — with no rewrite in between.

Solution

Built one Django REST API and PostgreSQL database that powers two frontend tiers selectable from a header switch. v1 is a notebook-style cashier app: configure the floor plan, build a categorised menu, tap a table to add dishes, override any price for a single order, and settle in one tap. v2 adds dedicated Waiter, Kitchen, Cashier and Admin screens with per-dish status tracking through the order lifecycle, daily stock quantities that auto-decrement per order, and staff management. Auth uses SimpleJWT stored in HTTP-only cookies (never exposed to JS), and client screens stay current by polling the REST API every 5–10 seconds — reliable and dependency-free, with no WebSocket infrastructure to run.

Outcome

A commercial product deployed with the backend on a DigitalOcean droplet (gunicorn behind Nginx, Let's Encrypt TLS) and the frontend on Vercel. Because both tiers share one backend and database, migrating from v1 to v2 keeps every menu item, order and setting intact. Auth cookies use Secure + SameSite=Lax across the two sub-domains of the shared javoxir.me registrable domain, so requests count as same-site.

Let's build

HAVE A
SIMILAR
PROJECT?