Проекты

SaaS · Кассовые системы

Multi-tenant POS и бэк-офис SaaS для ресторанов и кафе

Платформа, которая продаётся сразу многим компаниям общепита: кассовое desktop-приложение, работающее офлайн, экраны кухни и очереди, портал компании, лояльность и маркетинг, фискальные чеки и публичные API для их мобильных приложений.

Роль
Со-лид разработки · API, портал, касса и офлайн-хаб
Годы
2026
Платформы
API · Админ-панель · Desktop-приложение · Офлайн-хаб · Сайт
Мой вклад
~52% коммитов

Задача

Кафе не может перестать продавать, когда пропадает интернет, а SaaS ни при каких условиях не должен допустить утечки данных одной компании к другой. Платформа должна была проводить продажи в зале офлайн, безопасно синхронизироваться позже и строго разделять десятки тенантов — и при этом охватывать всё: от меню и склада до персонала, платежей и лояльности.

Как я её решил

  1. 01

    Изоляция тенантов обеспечена дважды: каждый запрос явно содержит scope компании, а расширение базы данных выбрасывает ошибку, если запрос его не указал. Любое исключение вносится в allow-list с письменным обоснованием.

  2. 02

    Офлайн-хаб филиала с собственной локальной базой данных проводит продажи в зале, когда облако недоступно; каждая команда синхронизации дедуплицируется по терминалу, поэтому повторная отправка никогда не задвоит заказ.

  3. 03

    Транзакционный outbox питает фоновые очереди и вебхуки с HMAC-подписью — события никогда не теряются между продажей и системами, которые на неё реагируют.

  4. 04

    Ключи идемпотентности для партнёрских заказов, возвраты с явным статусом «результат неизвестен» и ночная сверка делают денежные потоки прозрачными для аудита.

  5. 05

    Тест «чужой тенант» в наборе тестов каждого модуля: доступ к данным другого тенанта должен возвращать 404, а не данные.

Что умеет

  • Кассовое desktop-приложение (Electron) с сессиями устройств, автообновлением и офлайн-режимом
  • Экраны кухни, бара и очереди с обновлениями в реальном времени через WebSockets
  • Меню, модификаторы, техкарты, склад, поставщики и заказы на закупку
  • Роли персонала с настраиваемыми правами, смены, учёт посещаемости и закрытие дня
  • Программы лояльности с уровнями, наградами, челленджами и подтверждением двумя сотрудниками
  • Фискальные чеки с офлайн-вариантами и повторными попытками
  • API-ключи с ограниченным доступом, вход гостей по OTP и версионированный API для мобильных приложений клиентов
  • CMS на основе схем, конструктор email-писем и кампании по сегментам

Результаты

Моделей данных
181
Эндпоинтов API
~936
Разворачиваемых приложений
6
Фоновых очередей
20
  • Домен из 181 модели и ~936 эндпоинтов API реализованы примерно за четыре месяца основной командой из двух человек
  • Шесть разворачиваемых приложений и десять общих пакетов в одном типизированном монорепозитории
  • Приложение сети кофеен из этого портфолио полностью работает на её публичных API

Стек

  • NestJS 11
  • Prisma 6
  • PostgreSQL
  • Redis
  • BullMQ
  • socket.io
  • React 19
  • Electron
  • Next.js 16

Интеграции

  • Ameria
  • Idram
  • Fiscal receipts
  • FCM & APNs
  • SMS
  • SMTP

Детали, названия и визуальные материалы обобщены из уважения к конфиденциальности клиентов. С радостью разберу архитектуру на звонке.

Следующий проектПлатформа заказов и доставки для ресторанной сети

Есть идея продукта?Давайте создадим его.

Расскажите о своей идее, продукте или команде. Обычно отвечаю в течение одного рабочего дня.