TravelMaster — современная микросервисная платформа для бронирования и управления путешествиями.
Проект демонстрирует промышленную архитектуру enterprise-уровня с использованием:
- ☕ Java 21 / Spring Boot 3
- 🏗️ Микросервисная архитектура
- 🔐 Безопасность и соответствие ФЗ-152
- ☁️ Cloud-native подход с Kubernetes
- 🚀 CI/CD автоматизация
- ✅ Управление пользователями — регистрация, аутентификация, OAuth 2.0
✈️ Поиск и бронирование — интеграция с внешними провайдерами (Amadeus, Booking)- 💳 Платежи — безопасная обработка с соответствием PCI DSS
- 📧 Уведомления — email, SMS, push через Kafka
- 📊 Аналитика — агрегация данных по бронированиям и доходам
Система состоит из 7 микросервисов:
┌─────────────────┐
│ Gateway Service │ ← Единая точка входа, JWT auth
└────────┬────────┘
│
┌────┴────┬────────┬──────────┬───────────┬─────────────┐
│ │ │ │ │ │
┌───▼──┐ ┌──▼───┐ ┌─▼────┐ ┌──▼──────┐ ┌─▼───────┐ ┌─▼─────────┐
│ User │ │ Trip │ │Booking│ │ Payment │ │Notification│ │ Analytics │
└──────┘ └──────┘ └───────┘ └─────────┘ └──────────┘ └───────────┘
- Java 21 — современный LTS релиз
- Spring Boot 3.x — фреймворк для микросервисов
- Spring Cloud Gateway — API Gateway
- Spring Security — аутентификация и авторизация
- Spring Data JPA / Hibernate — ORM
- MapStruct — маппинг DTO
- Lombok — уменьшение boilerplate кода
- PostgreSQL 14 — основная СУБД
- Redis — кеширование и rate limiting
- Flyway — миграции БД
- Apache Kafka — event streaming
- Docker / Docker Compose — контейнеризация
- Kubernetes — оркестрация
- Helm — управление K8s манифестами
- GitHub Actions — CI/CD
- Prometheus — сбор метрик
- Grafana — визуализация
- Spring Actuator — health checks и metrics
- Micrometer — distributed tracing
- JUnit 5 — unit тесты
- Testcontainers — integration тесты
- Spring Boot Test — тестирование Spring приложений
- Java 21+
- Maven 3.8+ или Gradle 8+
- Docker & Docker Compose
- (опционально) Kubernetes cluster
- Клонируйте репозиторий:
git clone https://github.com/shuldeshoff/travelmaster-platform.git
cd travelmaster-platform- Запустите инфраструктуру через Docker Compose:
docker-compose up -dЭто запустит:
- PostgreSQL (порт 5432)
- Redis (порт 6379)
- Kafka + Zookeeper (порт 9092)
- pgAdmin (порт 5050)
- Соберите проект:
./mvnw clean install- Запустите сервисы:
# Gateway Service
cd gateway-service && ./mvnw spring-boot:run
# User Service
cd user-service && ./mvnw spring-boot:run
# Другие сервисы аналогично...- Проверьте работоспособность:
curl http://localhost:8080/actuator/health- API Gateway: http://localhost:8080
- Swagger UI: http://localhost:8080/swagger-ui.html
- pgAdmin: http://localhost:5050
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3000
Подробная документация доступна в папке /docs:
- 📖 План реализации — детальный roadmap проекта
- 🏗️ Архитектура — схемы и диаграммы
- 🔌 API спецификация — OpenAPI 3.0
- 👥 Руководство для команды — git flow, code review
- 🔒 Безопасность — ФЗ-152, PCI DSS compliance
- 🚢 Деплой — инструкции по развертыванию
# Unit тесты
./mvnw test
# Integration тесты
./mvnw verify
# Coverage report
./mvnw jacoco:report# Сборка всех сервисов
./mvnw spring-boot:build-image
# Или через Docker
docker build -t travelmaster/gateway-service:latest ./gateway-servicedocker-compose up -dkubectl apply -f k8s/helm install travelmaster ./helm/travelmaster -f helm/travelmaster/values-prod.yamlПроект реализует следующие меры безопасности:
- ✅ JWT аутентификация
- ✅ OAuth 2.0 / OpenID Connect
- ✅ RBAC (Role-Based Access Control)
- ✅ Rate limiting
- ✅ HTTPS/TLS шифрование
- ✅ Защита от OWASP Top 10
- ✅ PCI DSS compliance для платежей
- ✅ ФЗ-152 соответствие для персональных данных
- ✅ Audit logging
Мониторинг осуществляется через:
- Spring Actuator — health checks
- Prometheus — сбор метрик
- Grafana — дашборды
- Micrometer — distributed tracing
- Fork проекта
- Создайте feature branch (
git checkout -b feature/AmazingFeature) - Commit изменения (
git commit -m 'Add some AmazingFeature') - Push в branch (
git push origin feature/AmazingFeature) - Откройте Pull Request
Подробнее см. TEAM_GUIDE.md
- Базовая структура проекта
- План реализации
- Docker Compose setup
- Kubernetes манифесты и Helm charts
- CI/CD pipeline (GitHub Actions)
- Документация
- Common Library (DTO, exceptions, utilities)
- Gateway Service ✨
- Spring Cloud Gateway routing
- JWT authentication filter
- Rate limiting с Redis
- CORS configuration
- Global exception handler
- User Service ✨
- User & Role entities + repositories
- Flyway database migrations
- JWT token generation
- Registration & Login
- RBAC (TRAVELER, AGENT, ADMIN)
- Unit & Integration tests
- Dockerfiles для сервисов
- Trip Service (поиск и управление поездками)
- Booking Service (бронирования + Saga Pattern)
- Payment Service (платежи + PCI DSS)
- Notification Service (email/SMS/push)
- Analytics Service (статистика и отчёты)
Подробный roadmap: IMPLEMENTATION_PLAN.md
Этот проект лицензирован под MIT License - см. файл LICENSE для деталей.
Tech Lead / Solution Architect
- GitHub: @shuldeshoff
Проект создан как демонстрация современных практик разработки enterprise-приложений с использованием Java и Spring Boot.
⭐ Если проект был полезен, поставьте звезду! ⭐