Skip to content

Ternuraa/DistributedMicroservice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Микросервисная платформа для аренды недвижимости

Harbor — это современная экосистема для краткосрочной и среднесрочной аренды. Название символизирует поиск «тихой гавани» для путешественников и создание надежного инструмента для хостов.

Проект спроектирован с упором на масштабируемость, четкое разделение ответственности (Bounded Contexts) и безопасность каждой сделки.


Архитектурная философия

В основе Harbor лежит микросервисная архитектура, где каждый сервис управляет своей бизнес-областью согласно методологии Domain-Driven Design (DDD).

Ключевые домены (Services)

1. User & Identity Service (Личность и Доступ)

  • Функционал: Регистрация, профили, роли (Хост/Гость), верификация (KYC).
  • Почему Bounded: Операции над сущностью «Пользователь» (проверка документов, смена ролей) логически неразделимы и используют единую модель данных.

2. Listing & Discovery Service (Витрина и Рекомендации)

  • Функционал: Создание объявлений, управление медиа-контентом, гео-поиск и умные рекомендации.
  • Почему Bounded: Объединение каталога и рекомендаций убирает задержки при копировании данных и экономит ресурсы на синхронизации базы объектов.

3. Booking & Finance Service (Сделки и Деньги)

  • Функционал: Календарь доступности, защита от двойных броней (Overbooking), транзакции и платежи.
  • Почему Bounded: Самая критичная зона. Объединение позволяет гарантировать атомарность: даты фиксируются в той же транзакции, что и подтверждение оплаты.

4. Communication & Notification Service (Связь)

  • Функционал: P2P-чаты и системные уведомления (Push/Email/SMS).
  • Почему Bounded: Единая логика маршрутизации сообщений по ID пользователя вне зависимости от канала доставки.

5. Review & Safety Service (Доверие и Качество)

  • Функционал: Двусторонние отзывы, расчет рейтингов, модерация споров и жалоб.
  • Почему Bounded: Отзывы — фундамент безопасности. Модератору необходим прямой доступ к истории рейтингов для быстрого разрешения конфликтов.

Технологический стек

Слой Технологии
Backend Go
Databases PostgreSQL
Infrastructure Docker Kubernetes Nginx
Messaging Apache Kafka

Статус проекта: MVP

На текущем этапе реализованы базовые механики взаимодействия:

  • Регистрация и верификация пользователей
  • Создание объявлений с привязкой к гео-координатам
  • Поиск жилья по гибким фильтрам и датам
  • Механика бронирования с мгновенной блокировкой календаря
  • Межсервисное взаимодействие через API Gateway и gRPC

Инструкция по запуску

(Для запуска локальной копии проекта обратитесь к разделу Quick Start Guide)

About

Microservices-based rental platform built with Go. Features REST inter-service communication, event-driven architecture with ApacheKafka, and PostgreSQL per-service isolation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors