ExploreWithMe — Java/Spring-приложение для публикации, поиска и посещения событий.
Пользователи могут:
- просматривать публичную афишу событий;
- искать события по фильтрам;
- создавать собственные события;
- подавать заявки на участие;
- управлять заявками на свои события.
Администраторы могут:
- управлять пользователями;
- создавать и редактировать категории;
- формировать подборки событий;
- модерировать события.
Дополнительно используется отдельный сервис статистики.
flowchart LR
Gateway --> EventService
Gateway --> UserService
Gateway --> RequestService
Gateway --> LocationService
EventService --> StatsService
EventService --> UserService
EventService --> LocationService
RequestService --> EventService
RequestService --> UserService
explore-with-me/
├── infra/
│ ├── config-server/
│ ├── discovery-server/
│ └── gateway-server/
│
├── core/
│ ├── main-service/
│ ├── event-service/
│ ├── request-service/
│ ├── user-service/
│ └── location-service/
│
├── stats/
│ ├── stats-server/
│ ├── stats-client/
│ └── stats-dto/
- Java 21
- Spring Boot
- Spring Data JPA
- PostgreSQL
- Docker
- Spring Cloud (Eureka, Gateway, Config)
- OpenFeign
- Lombok
event-service→stats-serverevent-service→user-serviceevent-service→location-servicerequest-service→event-servicerequest-service→user-service
http://localhost:8080
stateDiagram-v2
[*] --> PENDING
PENDING --> PUBLISHED
PENDING --> CANCELED
CANCELED --> PENDING
stateDiagram-v2
[*] --> PENDING
PENDING --> CONFIRMED
PENDING --> REJECTED
PENDING --> CANCELED
| Сервис | схема |
|---|---|
| event-service | event |
| request-service | request |
| user-service | user |
| stats-server | stats |
| location-service | location |
mvn clean package
docker-compose up- микросервисная архитектура
- API Gateway как единая точка входа
- Eureka для discovery
- Config Server для конфигурации
- независимые сервисы