Repository navigation
Current State Architecture
plutogr edited this page May 23, 2026
·
2 revisions
Обновлено: 2026-05-23
flowchart LR
FE[Frontend] --> GW[Gateway]
GW --> ID[Identity]
GW --> CAT[Catalog]
GW --> BKG[Booking]
GW --> CH[Chat]
GW --> MED[Media]
BKG -- gRPC --> CAT
BKG -- gRPC --> ID
CH -- gRPC --> BKG
ID --> PG[(PostgreSQL)]
CAT --> PG
BKG --> PG
CH --> PG
MED --> PG
GW -. optional .-> REDIS[(Redis)]
CH -. optional .-> REDIS
ID -. optional .-> REDIS
MED --> MINIO[(MinIO/S3)]
| Компонент | Роль |
|---|---|
| Gateway | reverse proxy, auth policy, cookie flow, rate limit, health aggregation |
| Identity | регистрация/логин/refresh/logout/профиль, JWT, gRPC user summary |
| Catalog | каталог туров/направлений, CRUD туров, gRPC tour snapshot |
| Booking | заявки, статусы, предложения, избранное, gRPC validate access |
| Chat | история сообщений + realtime, проверка доступа через Booking gRPC |
| Media | файлы и превью, presigned URL, owner-only delete |
| Компонент | Локальный запуск | Docker host |
|---|---|---|
| Gateway |
5166 (launch profile) |
5001:8080 |
| Identity | 5010 |
5010:8080 |
| Catalog | 5020 |
5020:8080 |
| Booking | 5030 |
5030:8080 |
| Chat | 5040 |
5040:8080 |
| Media | 5050 |
5050:8080 |
| PostgreSQL | - | 5433:5432 |
| Redis | - | 6379:6379 |
| MinIO | - |
9000:9000, 9001:9001
|
| Frontend |
5173 (vite dev) |
3000:80 (compose profile full) |
| Сервис | БД | Redis | S3/MinIO | Межсервисно |
|---|---|---|---|---|
| Gateway | - | optional | - | HTTP к Identity/Catalog/Booking/Chat/Media |
| Identity | IdentityDb |
optional | - | gRPC server (GetUserSummary) |
| Catalog | CatalogDb |
- | - | gRPC server (GetTourSnapshot) |
| Booking | BookingDb |
- | - | gRPC clients к Identity/Catalog; gRPC server для Chat |
| Chat | ChatDb |
optional | - | gRPC client к Booking + SignalR |
| Media | MediaDb |
- | required | HTTP only |
- JWT-валидация:
Shared.Infrastructure/JwtAuthenticationExtensions - gRPC auth header
x-internal-auth:GrpcAuthInterceptor/GrpcAuthCallOptionsFactory - Correlation ID middleware
- Global exception middleware (ProblemDetails)
- Shared auth policies/roles:
RequireAuthenticated,RequireManager,RequireAdmin,RequireManagerOrAdmin; ролиClient,Manager,Admin
- Общие:
-
JwtSettings__SigningKey,JwtSettings__Issuer,JwtSettings__Audience GrpcSettings__InternalServiceTokenASPNETCORE_RUN_MIGRATIONS
-
- По сервисам:
- Identity:
ConnectionStrings__IdentityDb,ConnectionStrings__Redis(optional) - Catalog:
ConnectionStrings__CatalogDb - Booking:
ConnectionStrings__BookingDb,GrpcClients__CatalogServiceUrl,GrpcClients__IdentityServiceUrl - Chat:
ConnectionStrings__ChatDb,ConnectionStrings__Redis(optional),GrpcClients__BookingServiceUrl - Media:
ConnectionStrings__MediaDb,Storage__*,Upload__* - Gateway:
ConnectionStrings__Redis,RateLimiting__*,Cookie__*,ReverseProxy__Clusters__*
- Identity:
См. также:
- Обзор проекта
- Архитектура и зависимости
- API-карта
- Gateway
- Identity
- Catalog
- Booking
- Chat
- Media
- gRPC контракты
- Архитектура
- Детали реализации
- Сервис API Gateway
- Сервис Identity
- Сервис Catalog
- ADR-001. Модель тура
- Сервис Booking
- Сервис Chat
- Сервис Media
- Содержимое сайта
- Стек и версии
- Глоссарий
- Соответствие экранов и API