АРТстиль: интернет-магазин рекламного агентства с обменом с 1С

Языка витрины
3
Валюты
4
Миграция
WordPress → Next.js

Задача

Заменить WordPress-сайт рекламного агентства собственным магазином: товары с ценой — в корзину и заказ, услуги с ценой «от» — в заявку, а все заказы и заявки — в 1С.

Решение

pnpm-монорепозиторий: Next.js 16 (App Router) и REST API на NestJS 11 с PostgreSQL и Prisma; заказы и заявки уходят в 1С и на почту через transactional outbox; Docker Compose и Nginx на одной облачной VM с ночными бэкапами.

Архитектура

В каталоге два типа позиций. Товары с ценой, например каждый дорожный знак, попадают в корзину и становятся заказом; услуги с ценой «от» или по расчёту оформляются заявкой с удобными клиенту способами связи. Витрина на русском, румынском и английском с языковым префиксом в каждом адресе, а при первом заходе язык выбирается по cookie, стране посетителя и настройкам браузера. Цены показываются в четырёх валютах по курсу национального банка, итог всегда пересчитывает сервер.

Заказ или заявка записываются вместе с событием outbox в одной транзакции, а фоновый обработчик доставляет их в 1С и на почту с повторами и паузами между попытками, поэтому ничего не теряется, даже если 1С временно недоступна. В админке — каталог с фото и видео, заказы, заявки, клиенты и реквизиты, цвета сайта и состояние обмена с 1С с ручным повтором. Покупатели могут входить через Google и вести избранное.

Проект работает в Docker Compose за Nginx на одной облачной VM. База и загруженные файлы каждую ночь копируются в бэкап, в том числе в Google Drive, и есть инструкция по восстановлению всего сайта на другом сервере.

Нужно что-то похожее?

Расскажите о задаче — ответим с оценкой сроков и стоимости.

Обсудить проект