Ищете крутые кейсы в digital? Посмотрите на номинантов Workspace Digital Awards 2026!
#Разработка сайтов под ключ

NEXUS

Максим Ланиес Россия, Москва
Поделиться: 0 0 0
NEXUS
Бюджет

300 000

Сфера

Строительство и ремонт

Тип сайта

Корпоративный сайт, Порталы и сервисы

Сдано

Апрель 2026

Задача

Разработка с нуля B2B SaaS-платформы для студии коммерческого дизайна интерьеров - полноценного маркетплейса, объединяющего заказчиков и дизайнеров. Платформа должна была автоматизировать весь цикл работы над проектом: от первичной заявки и онбординга специалистов до поэтапной сдачи работ, документооборота и расчётов. Ключевые требования: ролевая модель (клиент / дизайнер / администратор), сложная стейт-машина этапов проекта с системой правок и доплат, интеграция с платёжной системой T-Bank с удержанием средств, электронный документооборот (акты на каждом этапе), AI-помощник для брифа и портфолио, система квалификационного тестирования дизайнеров по 4 уровням с автоматическими email-цепочками. Проект реализовывался в одиночку в роли fullstack-разработчика и DevOps-инженера с нуля до production-готового состояния.

Решение

Построил платформу на стеке Next.js 16 (App Router) + React 19, Prisma 7 + PostgreSQL 15, Zitadel OIDC, MinIO/S3, Docker Compose + Nginx, GitLab CI/CD. Платёжный модуль реализован на Rust-сервисе с интеграцией T-Bank Acquiring. Email-рассылка через Resend, AI-функциональность через Claude Haiku (Anthropic).Архитектурно платформа состоит из трёх независимых кабинетов с общим бэкендом: кабинет заказчика, кабинет специалиста и административная панель. Стейт-машина проекта обрабатывает 9 статусов этапа с циклами модерации, правок и доплат. Реализовано 51 API-эндпоинт, 22 модели Prisma, 11 триггеров email-уведомлений.

1Архитектура и инфраструктура

Проектирование системы: ролевая модель, схема базы данных (22 модели), стейт-машина заказа и этапов проекта. Настройка Docker Compose (5 сервисов), Zitadel OIDC для аутентификации, GitLab CI/CD с автодеплоем на VPS, S3-хранилище на MinIO с presigned URL. Подключение SonarCloud для статического анализа кода.

2Онбординг специалистов

Многошаговая система верификации дизайнеров: анкета с модерацией администратором, квалификационный тест по 4 уровням сложности (Junior / Senior / Master / Elite) с таймером 30 сек на вопрос и 3 попытками на каждый уровень, Zoom-интервью, изучение регламентов, тест на знание регламентов, подписание договора. На каждом шаге автоматические email-уведомления с уникальным текстом для каждого сценария (пройдено / не пройдено / последняя попытка). Интеграция DaData для автозаполнения реквизитов по ИНН.

3Платежи и документооборот

Интеграция T-Bank Acquiring: три отдельных платежа по этапам проекта, удержание средств (HELD) до подписания акта, автоматическое освобождение (RELEASED) после подтверждения. Rust-микросервис для обработки webhook T-Bank. Электронный акт выполненных работ на каждом этапе специалист формирует, администратор проверяет, заказчик подписывает. Полный документооборот договора оказания услуг: загрузка PDF администратором → подписание дизайнером → подписание заказчиком → подтверждение администратором → старт работ.

4Административная панель и DevOps

Административная панель с дашбордом (статистика, удержанные средства, очередь задач), управлением специалистами (онбординг, инвайт в Zitadel, архивирование), заказами (модерация, ручная разблокировка этапов), платежами (выплата специалисту, история транзакций). Настройка Nginx с SSL, мониторинг через Slack webhook, rate limiting, версионность сессий с принудительным завершением. Деплой через GitLab CI/CD с автоматическим прогоном тестов и сборкой Docker-образов.

Результат

Заявка → Анкета → Проверка менеджером → Выбор дизайнера

→ Предоплата 100% (удерживается)

→ Этап 1: Планировка

   → Менеджер проверяет → Заказчик принимает/отклоняет (до 2 правок)

   → Акт → Выплата за этап

→ Этап 2: Визуализация (аналогично)

→ Этап 3: Документация (аналогично)

→ Финальная доставка файлов

https://nexuspro.ru

Стек технологий

  • JavaScript JavaScript Язык программирования
  • Rust Rust Язык программирования

Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Оставить заявку