Серверные технологии и архитектурные паттерны
Backend стек на NestJS
| Технология/Паттерн | Описание и назначение | Категория |
| NestJS | Прогрессивный Node.js фреймворк для построения эффективных и масштабируемых серверных приложений | Бекенд-фреймворк |
| Модульность (Modularity) | Краеугольный камень NestJS. Приложение структурируется в виде модулей (@Module()). Каждый модуль инкапсулирует свою функциональность | Архитектурный паттерн |
| Dependency Injection (DI) | Мощный встроенный контейнер внедрения зависимостей. Делает код более тестируемым, гибким и модульным | Архитектурный паттерн |
| Архитектура Controllers — Providers | Четкое разделение ответственности: Контроллеры обрабатывают HTTP-запросы, Провайдеры/Сервисы содержат бизнес-логику | Архитектурный паттерн |
| TypeScript | Изначальная поддержка TypeScript, использование классов, интерфейсов и декораторов, что является основой ООП-подхода | Язык программирования |
| ООП (Object-Oriented Programming) | Поощряет использование классов, интерфейсов и декораторов, что является основой объектно-ориентированного подхода | Методология программирования |
| GraphQL | Поддержка GraphQL через @nestjs/graphql как альтернатива REST API | Транспорт данных |
| WebSockets | Реализация реального времени через @nestjs/websockets | Транспорт данных |
| Microservices | Поддержка микросервисной архитектуры с использованием Kafka, RabbitMQ, gRPC | Архитектура |
| SOLID принципы | Следование принципам SOLID, в частности принципу единственной ответственности в модулях | Принципы разработки |
| MVC паттерн | Классический паттерн Model-View-Controller, где роль "View" играет фронтенд (Next.js) | Архитектурный паттерн |

