Приложение ExploreWithMe - афиша, которая позволяет пользователям делиться информацией об интересных событиях и находить компанию для участия в них.
- скачать данный репозиторий
- mvn clean package
- mvn install
- docker-compose build
- docker-compose up -d
- основной сервис: http://localhost:8080
- сервис статистики: http://localhost:9090
- основной сервис будет содержать всё необходимое для работы продукта;
- сервис статистики будет хранить количество просмотров и позволит делать различные выборки для анализа работы приложения.
- публичная будет доступна без регистрации любому пользователю сети;
- закрытая будет доступна только авторизованным пользователям;
- административная — для администраторов сервиса.
- Авторизованные пользователи могут добавлять в приложение новые мероприятия, редактировать их и просматривать после добавления; могут подавать заявки на участие в интересующих мероприятиях; создатель мероприятия может подтверждать заявки, которые отправили другие пользователи сервиса.
- Администраторы могут добавлять, изменять и удалять категории для событий, могут закреплять на главной странице подборки мероприятий; имеют возможность модерировать события, размещённых пользователями, — публикация или отклонение; Также доступно управление пользователями — добавление, активация, просмотр и удаление.
- Администрирование - возможность для администратора добавлять конкретные локации:города, театры, концертные залы и другие в виде координат (широта, долгота, радиус).
- Локация как добавляет ее администратор Location: name, lat, lon, rad.
- Получение списка этих локаций.
- Возможность поиска событий в конкретной локации.
- По геопозиции вычисляются ближайшие к событию локации, в радиус которых попадает события
POST /admin/locations - создание локации администратором
UPDATE /admin/locations/{id}
DELETE /admin/locations/{id} - Удаление локации
UPDATE /confirm/{id} - для подтверждения или отмены локации
POST /locations - создание локации пользователем
GET /locations – получение списка всех открытых локаций
GET /events/{locationId}/locations – получение списка событий по локации
GET /locations/{locationId} - Получение локации по Id
ссылка на диаграмму - https://dbdiagram.io/d/64f70baa02bd1c4a5efe21fb