Skip to content

Tech Stack

plutogr edited this page Mar 12, 2026 · 4 revisions

Стек и версии

Сводная таблица технологий проекта по этапам. Детали по сервисам — в Архитектуре.


MVP-1 (Core)

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

Компонент Версия / технология Назначение
Платформа .NET 9 Все сервисы и API Gateway
Web-фреймворк ASP.NET Core REST API, middleware, hosting
API Gateway YARP (Yet Another Reverse Proxy) Маршрутизация, reverse proxy
База данных PostgreSQL Основное хранилище (отдельные БД/схемы по сервисам)
ORM Entity Framework Core 9 Работа с БД, миграции
Аутентификация OpenIddict (рекомендуется) или Duende Identity Server JWT, refresh token, OAuth2
Валидация FluentValidation Валидация входящих данных
Хеширование паролей BCrypt / ASP.NET Identity Password Hasher Хранение паролей в Identity
Логирование Serilog Структурированные логи, correlation id
Трассировка OpenTelemetry Трейсы между Gateway и сервисами
Оркестрация Docker Compose Запуск всех сервисов и зависимостей
Внутренние вызовы gRPC Синхронное взаимодействие между сервисами

Опционально в MVP-1

Компонент Версия / технология Назначение
Кэш / backplane Redis Кэш каталога и/или SignalR backplane для Chat
Файловое хранилище MinIO (S3-compatible) Media Service — загрузка и выдача файлов/фото
Realtime ASP.NET Core SignalR Чат (если выносится в отдельный Chat Service)
Обработка изображений ImageSharp Миниатюры, оптимизация (Media Service)

MVP-2 (Expansion)

Компонент Версия / технология Назначение
Брокер сообщений RabbitMQ Асинхронные события между сервисами
.NET интеграция с брокером MassTransit Публикация/подписка на события
Поиск Elasticsearch Полнотекстовый и расширенный поиск по каталогу
Notification Service .NET 9, ASP.NET Core Отдельный сервис уведомлений (email, in-app, push)

MVP-3 (Scale)

Компонент Версия / технология Назначение
Аналитическое хранилище ClickHouse или TimescaleDB Analytics Service — события, KPI, воронки
Оркестрация (по необходимости) Kubernetes Масштабирование, несколько инстансов
Мониторинг Prometheus Метрики
Визуализация Grafana Дашборды и алерты
Трассировка (расширенная) Jaeger или аналог Распределённая трассировка

Фронтенд

Для клиентского приложения используется следующий стек:

Компонент Технология Назначение
Библиотека UI React Компонентный интерфейс, SPA
Язык TypeScript Типизация, работа с API-контрактами
Сборка и dev-сервер Vite Быстрая сборка, HMR, инструменты разработки

В документации по содержимому сайта указаны общие принципы UI (адаптивность, компоненты, визуальная концепция). Макеты и дизайн-систему можно вести в Figma и переносить в код вручную или с помощью плагинов экспорта.


Версионирование API

Префикс Когда использовать
/api/v1 Текущий стабильный API. Новые неломающие изменения — добавление необязательных полей.
/api/v2 Новая мажорная версия при ломающих изменениях (переименование полей, смена формата и т.д.).

См. MVP-1 API-контракты.


См. также: Архитектура · Дорожная карта MVP · Главная

Clone this wiki locally