Мхитар Манасян bestmdidi Паспорт верифицирован
Сайты, Telegram-боты и Mini Apps - Next.js, Nest.js, Node.js
Рейтинг
35 000
№ 18 в каталоге
Отзывы
Профессионализм
10/10
Коммуникация
10 /10
Город
Москва
Опыт работы
6 лет
На сайте с
2022 года
Юридический статус
Самозанятый
Эксперт
Национальной Гильдии Фрилансеров
Freelance.Boutique
Премиум-сервис для лучших исполнителей
Безопасная сделка
Деньги списываются после приёмки

CommerceAPI - SaaS-платформа для интернет-магазинов с динамическим ORM и no-code конструктором каталогов | Next.js, Nest.js, PostgreSQL, Redis

Используемые навыки Docker Nest.js Next.js PostgreSQL Redis

Описание

Задача - построить мультитенантную SaaS-платформу, на которой бизнес запускает интернет-магазин или каталог без написания кода. Каждый арендатор (tenant) через админ-панель на Next.js сам описывает сущности - товары, услуги, портфолио работ, статьи, заказы, отзывы - а платформа автоматически создаёт под них таблицы в PostgreSQL, REST API и интерфейс администрирования.

Вся платформа на TypeScript: Next.js (React.js) на фронтенде, Nest.js (Node.js) на бэкенде, данные в PostgreSQL и Redis.

Решение

Реализована микросервисная архитектура: админ-панель на Next.js 14 (React.js, TypeScript), API Gateway и ORM-сервис на Nest.js (Node.js), отдельный сервис обработки изображений. Ядро - динамический ORM: JSON-шаблоны хранятся в реестре и компилируются в схемы MikroORM в рантайме, создавая таблицы и эндпоинты без миграций вручную. Данные в PostgreSQL (раздельные базы под Prisma и динамический ORM), сессии и rate-limit в Redis, изображения в MinIO (S3) с авто-генерацией версий (thumb/mobile/tablet/desktop в avif/webp/jpeg) через Sharp и пер-тенантным хостингом через Cloudflare + Nginx. Авторизация посетителей через OAuth (Google/Yandex), админов - через JWT с ролевой моделью и rate-limiting. Сделаны: система отзывов с рейтингом и денормализованными агрегатами, древовидные комментарии с модерацией, заказы с автоочисткой корзины, вебхуки в Telegram/email/внутренний инбокс. Вся бизнес-логика вынесена в метаданные шаблонов - движок не содержит кода под конкретного клиента. Деплой - push в main, GitHub Actions, VPS в Docker Compose.

Результат

Работающая в production платформа: добавление поля в шаблон автоматически создаёт колонку в БД и поле в админке, новые сущности - без ручных миграций. Первый магазин (тротуарная плитка) подготовлен к запуску: каталог с фильтрами и фасетами, авто-расчёт веса/количества товара по характеристикам, отзывы и комментарии с авто-модерацией для авторизованных пользователей, оформление заказов с уведомлениями в Telegram и на email. Производительность оптимизирована (батчинг запросов, кэширование, сжатие, edge-кэш Cloudflare), безопасность усилена (изоляция тенантов, токены сервисов, защита от подделки отзывов, RFC-совместимый rate-limiting). Платформа масштабируется на новых арендаторов и индустрии без доработки ядра - за счёт шаблонов и метаданных.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Trenergy - SaaS для фитнес-тренеров: Telegram Mini App, бот и панель управления. Тренировки, питание с КБЖУ, прогресс, чаты, оплата | React.js, Nest.js, Node.js
Trenergy - SaaS для фитнес-тренеров: Telegram Mini App, бот и панель управления. Тренировки, питание с КБЖУ, прогресс, чаты, оплата | React.js, Nest.js, Node.js
59
Веб-разработка и IT PropFirmWay - платформа для сравнения проп-трейдинговых фирм: каталог челленджей, рейтинги и отзывы трейдеров, AI-скрейпер, SEO-ядро | Next.js, Nest.js, Node.js
PropFirmWay - платформа для сравнения проп-трейдинговых фирм: каталог челленджей, рейтинги и отзывы трейдеров, AI-скрейпер, SEO-ядро | Next.js, Nest.js, Node.js
132
Веб-разработка и IT Telegram Mini App для белорусского магазина цифровых товаров PlayStation: игры, подписки, донаты. Парсер PS Store, приём платежей, админ-панель | React.js, Nest.js, PostgreSQL
Telegram Mini App для белорусского магазина цифровых товаров PlayStation: игры, подписки, донаты. Парсер PS Store, приём платежей, админ-панель | React.js, Nest.js, PostgreSQL
333