Двухмодульное приложение на основе микросервисной архитектуры для размещения и поиска событий. Функционал различается в зависимости от уровня доступа — публичный, авторизованный пользователь или администратор.
Приложение состоит из основного сервиса, основной базы данных, сервиса статистики просмотров и базы данных для статистики. Каждая часть запускается в отдельном docker-контейнере.
- Java 11
- Spring Boot
- Hibernate
- PostgreSQL
- Maven
- Lombok
- MapStruct
- Postman
- Docker
- ТЗ для API основного сервиса
- ТЗ для API сервиса статистики
- В качестве дополнительной функциональности реализована возможность комментирования событий.
[GET] /admin/comments?from={from}&size={size}
— получение списка всех комментариев с пагинацией[DELETE] /admin/comments/{commentId}
— удаление комментария[POST] /users/{userId}/comments?eventId={eventId}
— создание нового комментария к событию[PATCH] /users/{userId}/comments/{commentId}
— редактирование своего комментария[DELETE] /users/{userId}/comments/{commentId}
— удаление своего комментария[GET] /users/{userId}/comments?eventId={eventId}&from={from}&size={size}
— получение списка всех комментариев пользователяuserId
к событиюeventId
с пагинацией[GET] /users/{userId}/comments?from={from}&size={size}
— получение списка всех комментариев пользователяuserId
с пагинацией[GET] /comments?eventId={eventId}&from={from}&size={size}
— получение списка всех комментариев к событиюeventId
с пагинацией[GET] /comments/{commentId}
— получение отдельного комментария по айди