Моя 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 и не учебная библиотека.
Это практическая, активно используемая платформа, отражающая мой подход к архитектуре:
- прагматично
- ориентировано на практику
- с фокусом на долгосрочную поддержку проектов
- с возможностью безопасного рефакторинга и масштабирования