Skip to content

Repository files navigation

ExploreWithMe

📌 Описание проекта

ExploreWithMe — Java/Spring-приложение для публикации, поиска и посещения событий.

Пользователи могут:

  • просматривать публичную афишу событий;
  • искать события по фильтрам;
  • создавать собственные события;
  • подавать заявки на участие;
  • управлять заявками на свои события.

Администраторы могут:

  • управлять пользователями;
  • создавать и редактировать категории;
  • формировать подборки событий;
  • модерировать события.

Дополнительно используется отдельный сервис статистики.


🧱 Архитектура

flowchart LR
    Gateway --> EventService
    Gateway --> UserService
    Gateway --> RequestService
    Gateway --> LocationService

    EventService --> StatsService
    EventService --> UserService
    EventService --> LocationService

    RequestService --> EventService
    RequestService --> UserService
Loading

🧩 Модули проекта

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-servicestats-server
  • event-serviceuser-service
  • event-servicelocation-service
  • request-serviceevent-service
  • request-serviceuser-service

🌍 API Gateway

http://localhost:8080

📊 Жизненный цикл события

stateDiagram-v2
    [*] --> PENDING
    PENDING --> PUBLISHED
    PENDING --> CANCELED
    CANCELED --> PENDING
Loading

📬 Статусы заявок

stateDiagram-v2
    [*] --> PENDING
    PENDING --> CONFIRMED
    PENDING --> REJECTED
    PENDING --> CANCELED
Loading

🗄️ Хранение данных

Сервис схема
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 для конфигурации
  • независимые сервисы

About

Template repository for Graduation project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages