Мхитар Манасян bestmdidi Паспорт верифицирован
Сайты, IOS/Android Apps, Telegram-боты и Mini Apps под ключ
Рейтинг
19 086
№ 42 в каталоге
Отзывы
Профессионализм
10/10
Коммуникация
10 /10
Город
Москва
Опыт работы
6 лет
На сайте с
2022 года
Юридический статус
Самозанятый

CommerceAPI — SaaS-платформа для интернет-магазинов с динамическим ORM и no-code конструктором каталогов

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

Описание

Задача — построить мультитенантную SaaS-платформу, на которой бизнес может запустить интернет-магазин или каталог без написания кода. Цель: каждый арендатор (tenant) через админ-панель сам описывает сущности — товары, услуги, портфолио работ, статьи, заказы, отзывы — а платформа автоматически создаёт под них таблицы в базе, REST API и интерфейс администрирования. Требовалась гибкая система шаблонов, изоляция данных арендаторов, авторизация конечных посетителей через соцсети, модерация пользовательского контента, уведомления владельцу магазина и production-grade инфраструктура с авто-деплоем.

Решение

Реализована микросервисная архитектура: админ-панель на Next.js 14, API Gateway и ORM-сервис на NestJS, отдельный сервис обработки изображений. Ядро — динамический 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 PropFirmWay - платформа для сравнения проп-трейдинговых фирм: каталог челленджей, рейтинги и отзывы трейдеров, программа лояльности, AI-скрейпер и SEO-ядро
PropFirmWay - платформа для сравнения проп-трейдинговых фирм: каталог челленджей, рейтинги и отзывы трейдеров, программа лояльности, AI-скрейпер и SEO-ядро
65
Веб-разработка и IT Telegram mini-app: интернет-магазин со встроенным парсером
Telegram mini-app: интернет-магазин со встроенным парсером
261
Веб-разработка и IT Инструменты лицензирования ПО MasurEMS
Инструменты лицензирования ПО MasurEMS
122