Усі проєкти
Мультитенантна SaaS-платформаПрацює у productionКлієнтські сайти в продакшені

SaaS-платформа сайтів для ресторанів доставки

Мультитенантна платформа, що перетворює спільну кодову базу на повноцінні сайти електронної комерції: власник ресторану керує каталогом, клієнтами й підпискою, а власник платформи — орендарями, тарифами та білінгом. Два клієнтські сайти працюють у продакшені.

Адмінпанель власника сайту — дашборд
Адмінпанель власника сайту — дашборд

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

Запуск сайту доставки зазвичай потребує окремої розробки для кожного ресторану. Метою була мультитенантна SaaS-платформа, де новий бренд отримує повноцінний сайт — меню, кошик, зони доставки та кабінети клієнтів — лише через конфігурацію. Бренд, меню, місто й умови доставки налаштовуються на спільній кодовій базі без окремої збірки для кожного клієнта.

Моя роль і відповідальність

Я розробив продукт повністю: адмінпанель власника сайту (каталог із модифікаторами, карти зон доставки, стандартні правила кошика, клієнтська база, аналітика виручки та SaaS-підписка), адмінпанель власника платформи (орендарі, тарифи, білінг та інстанси) і мультитенантну архітектуру сайтів для комп’ютерів і мобільних пристроїв. Кабінети клієнтів працюють через SMS OTP і містять історію замовлень та кешбек.

Модулі продукту

Ключові інженерні виклики

Дві адмінпанелі на одній кодовій базі

Власникам сайту й платформи потрібні різні інтерфейси та права доступу до тих самих мультитенантних даних. Я розділив продукт на дві адміністративні програми зі спільним бекендом і забезпечив ізоляцію орендарів на рівні доступу до даних.

Шаблонізація для кожного ресторану

Бренд, меню, місто й умови доставки є конфігурацією орендаря, а не кодом. Новий ресторан отримує робочий сайт без окремої збірки — один деплой обслуговує всі клієнтські сайти.

Зв’язок електронної комерції з операціями

Сайт інтегрований з операційним кабінетом: каталогом і модифікаторами, полігонами зон доставки на карті, стандартними товарами в кошику, аналітикою виручки та життєвим циклом SaaS-підписки.

Кабінети клієнтів через SMS OTP

Вхід за номером телефону пов’язує профіль клієнта з історією замовлень, кешбеком і подарунками — єдиний обліковий запис на сайті без паролів.

Технологічний стек

Фронтенд

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Zustand
  • TanStack Query
  • React Hook Form
  • Zod

Бекенд

  • Node.js
  • Fastify
  • REST API
  • WebSocket
  • JWT + RBAC

Дані

  • PostgreSQL
  • Prisma
  • Redis

Інфраструктура

  • Vercel
  • Render
  • Cloudflare R2
  • SMS-провайдер