RU

Один разработчик, пять сервисов, три базы: что я понял об архитектуре, когда пришлось самому всё деплоить и чинить

Через год после закрытия проекта я открыл его код и устроил себе code review. Это был автомобильный маркетплейс объявлений, который я в од…

архитектураcode-reviewNestJSSocket.IOKubernetesPostgreSQLlost-updateидемпотентностьoutboxCronJob
Habr
RU

Feature Based Clean Architecture. Часть 5: Масштабирование FBCA и теоретико-графовый анализ зависимостей

Если описать NestJS-архитектуру как граф — вершины это модули и классы, рёбра — зависимости между ними, — утверждение «архитектура не деградирует» п…

NestJSTypeScriptClean ArchitectureАрхитектура ПОБэкендFeature-basedТеория графовМасштабированиеDAGDomain-Driven Design
Habr
RU

Feature Based Clean Architecture. Часть 4: FBCA: формализация границ ответственности в NestJS-модуле

После трёх частей разбора деградации остаётся один вопрос: как написать NestJS-проект так, чтобы god-сервис и циклические зависимости были невозможн…

NestJSTypeScriptClean ArchitectureАрхитектура ПОБэкендFeature-basedDomain-Driven DesignСлоистая архитектураРефакторингSOLID
Habr
RU

Feature Based Clean Architecture. Часть 3: Архитектурный риск циклов в NestJS: ROI решений на горизонте пяти лет

Циклическая зависимость между двумя модулями в NestJS лечится двумя строчками forwardRef. Документация прямо это рекомендует, ревьюер пропустит за т…

NestJSTypeScriptАрхитектура ПОБэкендАнтипаттерныЦиклические зависимостиfeature-basedТехнический долгROIРефакторинг
Habr
RU

Feature Based Clean Architecture. Часть 1: Эволюция NestJS-приложения в неподдерживаемое состояние

Если ваш NestJS-проект собран по рекомендованной документацией feature-based-структуре — через год активной разработки у вас будет god-сервис. Не «в…

NestJSTypeScriptАрхитектура ПОБэкендАнтипаттерныGod objectFeature-basedТехнический долгРефакторингTypeORM