MVP 1 Domain and Data - PlutoGr/TravelAgency GitHub Wiki
MVP-1 Domain and Data
Основные агрегаты
| Агрегат | Сервис |
|---|---|
User |
Identity |
Tour |
Catalog |
Booking |
Booking |
Favorite |
Booking |
ChatMessage |
Chat (если chat включён) |
Ключевые правила
Статусная модель заявки:
New → InProgress → ProposalSent → Confirmed → Closed / Cancelled
- Нельзя переводить
Closed/Cancelledобратно в активные статусы. - Для статуса
ProposalSentдолжна быть минимум одна записьProposal. - Для
Confirmedвыбирается финальное предложение.
Хранение
- Database per service: у каждого сервиса своя БД (или своя схема при общем инстансе Postgres).
- Снимок тура (snapshot) сохраняется в предложении заявки в Booking, чтобы не зависеть от последующих изменений в каталоге.
См. также: Архитектура MVP-1 · Дорожная карта