В рамках дипломного проекта разработано REST API для приложения ExploreWithMe (англ. «исследуй со мной»). Оно предоставляет возможность делиться информацией об интересных событиях и помогать найти компанию для участия в них.
- Скачать данный репозиторий
- mvn clean package
- mvn install
- docker-compose build
- docker-compose up -d
- основной сервис доступен по адресу: http://localhost:8080
- сервис статистики доступен по адресу: http://localhost:9090
- GateWay (разрабатывается отдельно)
- Проверяет права пользователей
- Передает запросы на остальные микросервисы в зависимости прав
- Основной сервис — содержит всё необходимое для работы.
- Просмотр событий без авторизации;
- Возможность создания и управления категориями;
- События и работа с ними - создание, модерация;
- Запросы пользователей на участие в событии - запрос, подтверждение, отклонение.
- Создание и управление подборками.
- Добавление и удаление Лайков событиям, формирование рейтингов.
- Сервис статистики — хранит количество просмотров и позволяет делать различные выборки для анализа работы приложения.
- Отдельный сервис для сбора статистики;
- Публичный (доступен для всех пользователей)
- API для работы с событиями
- API для работы с категориями
- Приватный (доступен только для зарегистрированных пользователей)
- API для работы с событиями
- API для работы с запросами текущего пользователя на участие в событиях
- API для работы с рейтингами
- Административный (доступен только для администратора проекта)
- API для работы с событиями
- API для работы с категориями
- API для работы с пользователями
- API для работы с подборками событий
- Административный (доступен только для администратора проекта)
- API для работы со статистикой посещений
- Сортировка событий по рейтингу
- Оценивать можно только Опубликованные события
- Изменить рейтинг могут только пользователи с подтвержденным участием
- При изменении рейтига события изменяется, рейтинг создателя события.
- При публичном просмотре событий, скрыты данные создателя события.
- Создатель события не может оценивать событие.
**Список эндпоинтов для фичи:**
- Поставить лайк/дизлайк:
- PUT ewm-main:8080/users/{userId}/events/{eventId}/like?type={like/dislike}
- Убрать лайк/дизлайк:
- DELETE ewm-main:8080/users/{userId}/events/{eventId}/like?type={like/dislike}