Skip to content
Personal use

ristocrm โ€” modular management software for restaurants and hotels

Modular SaaS management software for restaurants and hotels, cryptographically licensed (Ed25519): from the dining room to the kitchen, from hotel check-in to sales reports, ~215 automated tests.

Private project โ€” personal use
  • Node.js
  • TypeScript
  • Express
  • SQLite
  • Vitest
  • Playwright
  • Ed25519
ristocrm โ€” modular management software for restaurants and hotels

Modular management software for restaurants and hospitality venues, built as a modular-license SaaS product: each customer activates only the modules they need, and the system enables them dynamically based on a cryptographically signed license, with no separate builds required.

In short

ristocrm covers a venue's entire operational cycle โ€” from table booking to payment, from hotel check-in to availability sync with OTAs โ€” while staying manageable from a single panel, with different roles and permissions for admin, dining room, kitchen and warehouse staff.

Who it's for

Small and medium restaurants, B&Bs and boutique hotels that today manage bookings, orders, inventory and rooms with disconnected tools (paper, WhatsApp, spreadsheets). Configurable staff roles โ€” not just the four defaults: custom roles can be created by choosing, section by section, what each one sees.

What it does

Restaurant โ€” menu and website

  • Menu with categories, prices, allergens and dish photos; themed menus with activation dates (e.g. a Christmas menu).
  • A shareable public link for every menu, a block-based public site editor with customizable pages, uploading ready-made sites as a ZIP bundle.
  • Logo and header photo management for branding.

Restaurant โ€” dining room and orders

  • Interactive dining room floor plan (drag & drop), multi-room, an alternative list view; table states: free, occupied, needs cleaning, reserved.
  • Unique QR/link per table (menu, order, report allergies), order-taking by staff.
  • Real-time kitchen display (KDS) with dish states (waiting โ†’ preparing โ†’ ready โ†’ served), smartphone self-ordering for fixed-menu tables.

Restaurant โ€” bill, till and suppliers

  • Bill calculation with configurable cover charge and service fee, multi-method payment, receipt issuance (pluggable fiscal provider).
  • Supplier directory, inventory with minimum stock thresholds and movement history, purchase orders (draft โ†’ sent โ†’ received).
  • Recipe โ†’ ingredient linking, with automatic inventory deduction on every sale.

Restaurant โ€” bookings and allergies

  • Self-service table booking from the website, with staff confirmation or rejection.
  • Allergy reporting from the table via QR, resolved in real time with a badge visible in the dining room view.

Restaurant โ€” all you can eat

  • Fixed price per adult/child (with a maximum child age), surcharges on premium dishes.
  • A time limit per table and a penalty for uneaten food.

Hotel

  • Room types with photo gallery, description, amenities and capacity; rates by period/season.
  • Physical rooms assigned at check-in, housekeeping (free/occupied/cleaning/maintenance).
  • Self-service booking with a dedicated public page per room, or direct booking by staff (phone/walk-in); check-in/check-out, internal invoices.
  • Availability sync via iCal: public export and import from external OTAs (Booking.com, Airbnb).

Cross-cutting (restaurant + hotel)

  • Automatic guest notifications (email/SMS) on request, confirmation and cancellation.
  • Online deposits โ€” a fixed amount or a percentage โ€” with manual collection as an alternative.
  • Sales report: revenue, average bill, best-selling dishes, revenue by payment method.

Platform and staff management

  • Staff accounts with their own login, roles configurable section by section for what each one can see.
  • Action log (who collected a payment, resolved an allergy report, received a supplier order...).
  • An entry hub for Restaurant/Hotel when both modules are active, native light/dark theme across the whole panel.

Licensing (provider side)

  • Modules individually activatable per customer via a digitally signed license, offline operation with a grace period.
  • A web console to see customer status, suspend or revoke a license.
  • A local console to generate new licenses with no command line needed.

Architecture, tech stack and the real engineering problems solved along the way.

Screenshots

Mode:
Entry screen: pick the area to manage (Restaurant or Hotel) based on the modules active in the license.
Interactive multi-room floor plan, real-time table status (free/occupied/needs cleaning/reserved).
Real-time orders per table, always dark-themed for readability during service โ€” see episode 7 of the development log.
Granular section-by-section permissions: each role only sees the panel areas it's responsible for.
Revenue, average bill, best-selling dishes and revenue by payment method for the chosen period.
Self-service page dedicated to each room type, with real-time availability check โ€” guest view, not staff.