Repository navigation
Tech Stack
plutogr edited this page Mar 12, 2026
·
4 revisions
Сводная таблица технологий проекта по этапам. Детали по сервисам — в Архитектуре.
| Компонент | Версия / технология | Назначение |
|---|---|---|
| Платформа | .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 | Синхронное взаимодействие между сервисами |
| Компонент | Версия / технология | Назначение |
|---|---|---|
| Кэш / backplane | Redis | Кэш каталога и/или SignalR backplane для Chat |
| Файловое хранилище | MinIO (S3-compatible) | Media Service — загрузка и выдача файлов/фото |
| Realtime | ASP.NET Core SignalR | Чат (если выносится в отдельный Chat Service) |
| Обработка изображений | ImageSharp | Миниатюры, оптимизация (Media Service) |
| Компонент | Версия / технология | Назначение |
|---|---|---|
| Брокер сообщений | RabbitMQ | Асинхронные события между сервисами |
| .NET интеграция с брокером | MassTransit | Публикация/подписка на события |
| Поиск | Elasticsearch | Полнотекстовый и расширенный поиск по каталогу |
| Notification Service | .NET 9, ASP.NET Core | Отдельный сервис уведомлений (email, in-app, push) |
| Компонент | Версия / технология | Назначение |
|---|---|---|
| Аналитическое хранилище | ClickHouse или TimescaleDB | Analytics Service — события, KPI, воронки |
| Оркестрация (по необходимости) | Kubernetes | Масштабирование, несколько инстансов |
| Мониторинг | Prometheus | Метрики |
| Визуализация | Grafana | Дашборды и алерты |
| Трассировка (расширенная) | Jaeger или аналог | Распределённая трассировка |
Для клиентского приложения используется следующий стек:
| Компонент | Технология | Назначение |
|---|---|---|
| Библиотека UI | React | Компонентный интерфейс, SPA |
| Язык | TypeScript | Типизация, работа с API-контрактами |
| Сборка и dev-сервер | Vite | Быстрая сборка, HMR, инструменты разработки |
В документации по содержимому сайта указаны общие принципы UI (адаптивность, компоненты, визуальная концепция). Макеты и дизайн-систему можно вести в Figma и переносить в код вручную или с помощью плагинов экспорта.
| Префикс | Когда использовать |
|---|---|
/api/v1 |
Текущий стабильный API. Новые неломающие изменения — добавление необязательных полей. |
/api/v2 |
Новая мажорная версия при ломающих изменениях (переименование полей, смена формата и т.д.). |
См. MVP-1 API-контракты.
См. также: Архитектура · Дорожная карта MVP · Главная
Система
API
Сервисы
Как реализовано
Справочное