Встановлення Vendure на NestJS: production-сервер для e-commerce

Підготовка Vendure до production: встановлення, налаштування та деплой

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Встановлення Vendure на NestJS: production-сервер для e-commerce
Середній
від 1 дня до 3 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1422
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1288
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    984
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1250
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    987
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1001

Підготовка Vendure до production: встановлення, налаштування та деплой

Ми — команда з 8-річним досвідом у Node.js та 20+ запущеними e-commerce проєктами. Один із клієнтів прийшов з MVP на Express: при навантаженні 200 RPS GraphQL-запит падає з 501. Таблиці не індексовані, N+1 запити по каскаду. Потрібен production-буквар: правильне встановлення Vendure з нуля, який витримає 10 000 замовлень на день без гальмувань. Наш підхід гарантує стабільність і нульовий downtime під час деплою. Замовивши у нас встановлення, ви отримуєте магазин на NestJS, готовий до високих навантажень.

Ключові проблеми, які ми вирішуємо

Перша типова проблема — hydration mismatch при SSR магазину на Next.js через неправильне кешування. Vendure використовує Apollo Client, але без Redis кеш злітає при першому рендері. Друга — N+1 запити в GraphQL: якщо не налаштувати DataLoader та індекси в TypeORM, кожна вибірка колекції товарів породжує 50+ запитів до БД. Третя — міграції вручну: за відсутності TypeORM CLI та CI/CD команди забувають накатити міграції, і продакшен падає після деплою. Ми вирішуємо ці проблеми на етапі проєктування.

Як ми налаштовуємо Vendure під ключ?

Розгорнутий кейс: інтернет-магазин косметики (20 000 SKU). Вимагалося: інтеграція з чотирма платіжними шлюзами, доставка через Boxberry та власний кошик з кастомними полями. Обрали ручне встановлення в монорепозиторій. Стек: Node.js 20 LTS, PostgreSQL 14, Redis 7, Docker Compose + Nginx.

Конфігурація TypeORM:

// src/vendure-config.ts export const config: VendureConfig = { apiConfig: { hostname: '0.0.0.0', port: 3000, adminApiPath: 'admin-api', shopApiPath: 'shop-api', }, dbConnectionOptions: { type: 'postgres', synchronize: false, logging: process.env.APP_ENV === 'development', entities: [ Customer, Order, Product, ProductVariant, // ... custom entities ], }, paymentOptions: { paymentMethods: [ StripePaymentMethod.init(), MolliePaymentMethod.init(), ], }, }; 

Замість стандартного CLI-генератора довелося створити свій плагін для синхронізації товарів з 1С за CommerceML. Результат — швидкість завантаження каталогу зросла на 60% порівняно з попереднім рішенням на WooCommerce. За рахунок такої кастомізації ви економите на інфраструктурі та отримуєте магазин на NestJS, повністю під ваші завдання. Замовте подібне рішення для вашого бізнесу.

Процес роботи

  1. Аналітика — аудит поточного API та БД, виявлення вузьких місць (N+1, відсутність індексів).
  2. Проєктування — схема GraphQL, плагіни для платіжок та доставки, architecture decision record.
  3. Реалізація — написання конфігів та кастомних модулів (NestJS + TypeORM).
  4. Тестування — навантажувальне тестування з k6 до 5000 RPS, перевірка Core Web Vitals (LCP < 2.5 с).
  5. Деплой — CI/CD через Docker Compose, бекапи, моніторинг.
Етап Тривалість Що входить
Аналітика 1–2 дні Аудит коду, профілювання, навантажувальні тести
Проєктування 1–2 дні Вибір плагінів, схема даних, ADR
Розробка 3–5 днів Конфіги, міграції, custom resolver, плагіни
Тестування 1–2 дні E2E на Cypress, unit-тести, інтеграційне тестування
Деплой 1 день Docker + CI/CD (GitHub Actions), моніторинг

Що входить у роботу?

  • Налаштування Vendure з нуля або міграція з іншого e-commerce.
  • Повна документація щодо архітектури та ендпоінтів.
  • Доступи до admin UI та логів.
  • Навчання команди (2 сесії по 2 години).
  • Гарантія стабільної роботи та підтримка 2 тижні після деплою.

Чому встановлення руками краще за CLI?

CLI-генератор @vendure/create підходить для прототипів, але для продакшену він нав'язує зайві плагіни та структуру. Ручне встановлення дає повний контроль над версіями та конфігурацією. Наші клієнти економлять до 15% витрат на інфраструктурі за рахунок кастомізації. Отримайте консультацію щодо вашого проєкту.

Як гарантується стабільність після деплою?

Ми налаштовуємо моніторинг (Prometheus + Grafana), регулярні бекапи та health checks. У разі збою — автоматичний перезапуск через Docker Compose. Всі зміни проходять CI/CD з тестами та ручним код-рев'ю. Гарантія поширюється на 2 тижні після деплою.

Чек-лист після встановлення (перевіряємо кожен пункт)

Критерій Опис
БД та міграції Створено БД, накачено міграції, synchronize = false
Admin UI Доступний за /admin, працює CRUD для товарів
Shop API Відповідь на /shop-api існує у вигляді GraphQL схеми
Assets Директорія існує та доступна для запису
SMTP Перевірено відправку листа при створенні замовлення
Worker Job queue працює, Redis підключено
SSL Nginx налаштовано на HTTPS, HSTS увімкнено

Встановлення займає від 1 до 3 днів залежно від складності інтеграцій. Вартість розраховується індивідуально — зв'яжіться з нами, і ми оцінимо ваш проєкт за 24 години.