NestJS-mod

Моя fullstack-платформа для NestJS с инженерной экосистемой библиотек и архитектурных соглашений.

Моя fullstack-платформа для NestJS

NestJS-mod — это мой инженерный проект и активная платформа для разработки backend- и fullstack-приложений на NestJS.

Это не эксперимент и не учебная библиотека, а живой инструмент, который я использую как в личных проектах, так и на работе. Проект решает проблему разрозненной архитектуры, хаотичных подходов в разных командах и высоких затрат на масштабирование приложений.

NestJS-mod подходит для продуктовых и B2B-команд, где важны единый подход, воспроизводимое качество и предсказуемость архитектурных решений.

Цели проекта

Проект создан для решения следующих задач:

  • Зафиксировать архитектуру NestJS-приложений на уровне кода
  • Упростить старт новых сервисов и fullstack-продуктов
  • Снизить количество архитектурных ошибок при росте команды
  • Стандартизировать конфигурацию, инфраструктуру и интеграции
  • Предоставить готовые production-ready шаблоны

Как появился проект

Я всегда старался строить общие архитектурные решения на базе существующих возможностей фреймворков. Но столкнувшись с ограничениями DI в NestJS, я создал кастомную реализацию подключения провайдеров. Параллельно я работал в команде, где писали платформенные решения — обёртки над NestJS и Node.js библиотеками, решающие проблемы разношерстного кода в проектах и командах организации.

Там я увидел, какие задачи реально решают такие платформы:

  • единый способ подключения env и конфигураций для модулей
  • стандартизация архитектуры и снижение хаоса между проектами
  • автоматическая генерация документации по структуре проекта через декораторы

Имея многолетний опыт проектирования NestJS-приложений, я видел, что подобную платформу можно реализовать иначе — проще, гибче и ближе к реальной разработке. Так и родился NestJS-mod.

Подход к разработке

Скорость важнее идеального кода

  • проект развивается быстро, код может выглядеть неидеально
  • все ключевые логики покрыты тестами
  • безопасный рефакторинг возможен в любой момент
  • развитие идёт по мере появления реальной потребности

Проект — практический инструмент, а не эталон «красивого» кода.

Архитектурное ядро

  • Формализованная модель слоёв: Core, Feature, Integration, Infrastructure, System
  • Чёткое разделение ответственности между модулями
  • Архитектура фиксируется кодом, а не документацией
  • Типобезопасная работа с конфигурацией и env-переменными
  • Расширенный bootstrap приложений

Fullstack и инфраструктура

  • Включает шаблоны frontend-библиотек и проект админ-панели
  • Возможность переиспользования частей фронтенда и backend
  • CLI-схемы для генерации приложений и библиотек
  • Поддержка Nx и монорепозиториев
  • Интеграции с логированием, health-checks и markdown-отчётами
  • Production-ready подход «из коробки»

По сути, NestJS-mod — это полноценная fullstack-платформа, концептуально близкая к моему прежнему проекту Rucken, но с другим подходом к реализации.

Миграции и базы данных

  • Каждая feature-библиотека обязана иметь свои миграции
  • Первая миграция всегда создаёт таблицу пользователей
  • Фичи разрабатываются так, чтобы их можно было:
    • задеплоить в отдельную базу
    • или подключить к общей базе через один connection string
  • Декомпозиция по доменам закладывается с самого начала

Даже если в итоге используется одна база, проект изначально проектируется для масштабирования и изоляции фич.

Экосистема

Core

nestjs-mod — ядро и архитектурные утилиты

Contrib

nestjs-mod-contrib — дополнительные библиотеки, создаваемые по необходимости

Шаблоны

nestjs-mod-fullstack — production-ready fullstack boilerplate (NestJS + Angular)

nestjs-mod-sso — пример SSO и webhook-интеграций

nestjs-mod-example — демонстрационное приложение

Практическое применение

  • все мои текущие проекты на NestJS строятся через NestJS-mod
  • платформа используется на работе
  • критические баги исправляются сразу
  • служит эталоном архитектуры и обучающим материалом

Проект постоянно проверяется реальной эксплуатацией, и я продолжаю его развивать.

Планы развития

  • скрипты и tooling для AI-агентов для лучшего понимания контекста проекта
  • генерация приложений NestJS-mod через нейросети
  • консольная утилита для работы с платформой
  • генераторы frontend-кода

NestJS-mod — это мой основной долгоживущий pet-проект.

Итог

NestJS-mod — это не просто обёртка над NestJS и не учебная библиотека.

Это практическая, активно используемая платформа, отражающая мой подход к архитектуре:

  • прагматично
  • ориентировано на практику
  • с фокусом на долгосрочную поддержку проектов
  • с возможностью безопасного рефакторинга и масштабирования