Мультитенантная ERP-платформа для ресторанов и доставки
Единая система для всех операций: администрирование клиентов и биллинга, POS со сменами и заказами, складской учёт, себестоимость, финансы и расчёт зарплаты — с изоляцией данных каждого клиента.


Проблема и цель
Рестораны и службы доставки обычно работают с набором разрозненных инструментов: POS от одного поставщика, таблицы для складского учёта и себестоимости, ручной расчёт зарплаты. Целью было создать единый мультитенантный SaaS, охватывающий весь процесс — от подключения нового клиента до кассы, кухни, склада и финансовой отчётности, — чтобы новое заведение получало готовое программное обеспечение без индивидуальной разработки.
Моя роль и ответственность
Я самостоятельно спроектировал и разработал всю платформу: мультитенантную архитектуру и базу данных, Fastify REST API с обновлениями через WebSocket в реальном времени, фронтенды на Next.js для администрирования платформы, POS и бэк-офиса, JWT-аутентификацию с ролевым контролем доступа, а также бизнес-алгоритмы расчёта себестоимости и учёта запасов. Я также отвечаю за развёртывание и эксплуатацию в продакшене — миграции живых данных, мониторинг и развитие на основе отзывов операторов.
Модули продукта


Ключевые инженерные задачи
Синхронизация POS, кухни и бэк-офиса в реальном времени
Состояние заказов и смен должно оставаться согласованным для кассиров, кухонных экранов и менеджеров, работающих одновременно. Я реализовал синхронизацию через WebSocket с оптимистичными обновлениями интерфейса и обработкой конфликтов параллельного редактирования, поэтому касса не блокируется из-за сети.
Изоляция клиентов и ролевой доступ
Каждый запрос ограничен данными конкретного клиента, а разрешения определены по модулю и роли: владелец, менеджер, кассир, повар и курьер видят только то, что необходимо для их работы. Данные или ошибки одного клиента не могут попасть в учёт другого.
Себестоимость и складской учёт при реальных объёмах продаж
Рецепты, полуфабрикаты и складские операции питают механизм расчёта себестоимости, сохраняющий точность при изменении цен на ингредиенты. Тяжёлые отчёты выполняются оптимизированными запросами PostgreSQL с индексами и кешированием в Redis, а для денег и количеств используется точная десятичная арифметика.
Технологический стек
Фронтенд
- Next.js
- TypeScript
- Tailwind CSS
- Zustand
- TanStack Query
- React Hook Form
- Zod
Бэкенд
- Node.js
- Fastify
- REST API
- WebSocket
- JWT + RBAC
Данные
- PostgreSQL
- Prisma
- Redis
Приложения и инфраструктура
- Приложение курьера (Capacitor)
- Cloudflare R2
- Render
- Vercel