← All projectsProject / Subscription product

Digital menu platform for restaurants

A restaurant menu platform with dish editing, translations, QR access and subscriptions.

FastAPIPostgreSQLAngularStripeQR codes
Project overview

What the service does

A subscription-based digital-menu product. A venue manager maintains dishes and languages in an admin app; guests open the published menu from a QR/table link. Subscription state controls product access, and guest reviews go through moderation.

Restaurants need to update menus, languages and table links without asking guests to install or update an app.

Who uses it

Restaurant and café owners or managers maintaining menus, plus guests viewing a menu on their phone.

Input
  • Venue, rooms and tables, dish categories and translated dish text.
  • QR link and current subscription state.
  • Guest review submissions.
Output
  • A public menu for the selected venue or table.
  • Subscription and invoice state reflected in the management app.
  • Reviews awaiting moderation or published after review.
01 / How the service works

Service workflows

Guest menu

  1. INPUTDishes and translations

    Owner edits the restaurant menu

  2. PROCESSActive menu for a table

    QR resolves table to room and venue

  3. RESULTGuest opens the menu

    Read dishes and submit a review

Venue access

  1. INPUTPayment provider

    Customer, subscription and invoice events

  2. PROCESSUpdate subscription

    Webhook changes the product access state

  3. RESULTManagement app access

    Available features follow subscription status

02 / System architecture

Main components and their roles

Venue administration

Build the menu

The owner manages dishes, categories, rooms and menus.

How it works

The domain supports multiple active menus per room and ordered dish/category associations.

Translations / dictionaries

Localize content

Menu content is prepared for different guest languages.

How it works

The language-model adapter sends dish and category text for batch translation and saves each result in the selected language.

Stripe / subscription

Manage access

Subscription state determines product availability.

How it works

Customer, subscription and invoice webhooks update the subscription state shown in the management app.

QR / table route

Serve the guest

A QR link opens the menu for the venue or table.

How it works

Table → room → venue routing resolves active menus. This is a digital-menu workflow, not an implemented meal checkout.

Review moderation

Collect feedback

Guest feedback enters a moderation workflow.

How it works

Authenticated guest review creation and owner/admin moderation are separate operations.

03 / Implementation details

Engineering decisions

01

Separate manager and guest apps

Managers edit venues, rooms and menus; guests open a public menu from a QR link.

02

Connect tables to menus

A table QR link resolves the room and the active menu shown to the guest.

03

Connect subscriptions to access

Payment-provider events update the subscription state used by the application.

Software development for business

Have a project in mind?

Tell me what the application should do, how the team works today and which requirements or deadlines matter.