Harbor — это современная экосистема для краткосрочной и среднесрочной аренды. Название символизирует поиск «тихой гавани» для путешественников и создание надежного инструмента для хостов.
Проект спроектирован с упором на масштабируемость, четкое разделение ответственности (Bounded Contexts) и безопасность каждой сделки.
В основе Harbor лежит микросервисная архитектура, где каждый сервис управляет своей бизнес-областью согласно методологии Domain-Driven Design (DDD).
- Функционал: Регистрация, профили, роли (Хост/Гость), верификация (KYC).
- Почему Bounded: Операции над сущностью «Пользователь» (проверка документов, смена ролей) логически неразделимы и используют единую модель данных.
- Функционал: Создание объявлений, управление медиа-контентом, гео-поиск и умные рекомендации.
- Почему Bounded: Объединение каталога и рекомендаций убирает задержки при копировании данных и экономит ресурсы на синхронизации базы объектов.
- Функционал: Календарь доступности, защита от двойных броней (Overbooking), транзакции и платежи.
- Почему Bounded: Самая критичная зона. Объединение позволяет гарантировать атомарность: даты фиксируются в той же транзакции, что и подтверждение оплаты.
- Функционал: P2P-чаты и системные уведомления (Push/Email/SMS).
- Почему Bounded: Единая логика маршрутизации сообщений по ID пользователя вне зависимости от канала доставки.
- Функционал: Двусторонние отзывы, расчет рейтингов, модерация споров и жалоб.
- Почему Bounded: Отзывы — фундамент безопасности. Модератору необходим прямой доступ к истории рейтингов для быстрого разрешения конфликтов.
| Слой | Технологии |
|---|---|
| Backend | |
| Databases | |
| Infrastructure | |
| Messaging |
На текущем этапе реализованы базовые механики взаимодействия:
- Регистрация и верификация пользователей
- Создание объявлений с привязкой к гео-координатам
- Поиск жилья по гибким фильтрам и датам
- Механика бронирования с мгновенной блокировкой календаря
- Межсервисное взаимодействие через API Gateway и gRPC
(Для запуска локальной копии проекта обратитесь к разделу Quick Start Guide)