Усі проєкти
Мультитенантний SaaSПрацює у продакшеніСамостійна розробка від початку до кінця

Мультитенантна ERP-платформа для ресторанів і доставки

Єдина система для всіх операцій: адміністрування клієнтів і білінгу, POS зі змінами та замовленнями, складський облік, собівартість, фінанси й розрахунок зарплати — з ізоляцією даних кожного клієнта.

Адміністрування платформи — операційний дашборд SaaS
Адміністрування платформи — операційний дашборд SaaS

Проблема й мета

Ресторани та служби доставки зазвичай працюють із набором розрізнених інструментів: 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