Приложение Explore With Me — афиша, где можно предложить какое-либо событие от выставки до похода в кино и набрать компанию для участия в нём.
Это многомодульный maven проект на Java(11) с использованием Spring Boot, JPA и подключением PostgreSQL для каждого модуля.
Реализовано два модуля:
-
ewm-service — содержит всё необходимое для работы продукта. API основного сервиса разделено на три части. Первая — публичная, доступна без регистрации любому пользователю сети. Вторая — закрытая, доступна только авторизованным пользователям. Третья — административная, для администраторов сервиса.
-
stats-server — хранит количество просмотров и позволяет делать различные выборки для анализа работы приложения. Модули общаются между собой через HTTP-клиент.
Модуль, отвечающий за атворизацию, не реализован.
Для запуска проекта понадобится:
- Docker compose
- Перейти в каталог с репозиторием проекта
- Собрать проект командой: mvn clean package
- Запустить Docker Compose командой: docker compose up
В директории specification для обоих сервисов разработана подробная спецификацию API.
спецификация основного сервиса: ewm-main-service-spec.json
спецификация сервиса статистики: ewm-stats-service.json
Для работы со спецификациями вам понадобится редактор Swagger.