Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/omatthewy/java-explore-with-me

Template repository for ExploreWithMe project.
https://github.com/omatthewy/java-explore-with-me

api-gateway backend docker docker-compose event-discover event-management java maven microservices postgresql postman rest-api spring-boot sql statistics user-authentication

Last synced: 13 days ago
JSON representation

Template repository for ExploreWithMe project.

Awesome Lists containing this project

README

        

# java-explore-with-me

## Для чего предназначен этот проект
Explore With Me - это приложение дает возможность делиться информацией об интересных событиях и помогает найти компанию для участия в них. Реализовано в виде двух микросервисов с отдельными БД - один для сохранения и получения статистики, второй с основной бизнес логикой.

## Инструкция по развертыванию проекта:
1. Скачать данный репозиторий
2. mvn clean
3. mvn package
4. docker-compose build
5. docker-compose up -d

### Приложение включает в себя сервисы:
- Основной сервис — содержит всё необходимое для работы продукта.
- Просмотр событий без авторизации;
- Возможность создания и управления категориями;
- События и работа с ними - создание, модерация;
- Запросы пользователей на участие в событии - запрос, подтверждение, отклонение;
- Создание и управление подборками;
- Сервис статистики — хранит количество просмотров и позволяет делать различные выборки для анализа работы приложения.

## Описание сервисов
### Основной сервис работает на порту 8080
API основного сервиса разделен на три части. Первая — публичная, доступна без регистрации любому пользователю сети. Вторая — закрытая, доступна только авторизованным пользователям. Третья — административная, для администраторов сервиса.

- **Публичный** (доступен для всех пользователей)
- API для работы с событиями;
- API для работы с категориями;
- API для работы с подборками событий
- **Приватный** (доступен только для зарегистрированных пользователей)
- API для работы с событиями;
- API для работы с запросами текущего пользователя на участие в событиях
- **Административный** (доступен только для администратора проекта)
- API для работы с событиями;
- API для работы с категориями;
- API для работы с пользователями;
- API для работы с подборками событий
### Сервис статистики работает на порту 9090:
Собирает информацию о количестве обращений пользователей к спискам событий, а также о количестве запросов на получение подробной информации о событии. На основе этой информации формируется статистика о работе приложения.
- **Административный** (доступен только для администратора проекта)
- API для работы со статистикой посещений
## Спецификация REST API swagger
- [Основной сервис](https://github.com/OmatthewY/java-explore-with-me/blob/main/ewm-main-service-spec.json)
- [Сервис статистики](https://github.com/OmatthewY/java-explore-with-me/blob/main/ewm-stats-service-spec.json)