Сервис для организации мероприятий позволяет пользователям создавать события (от выставок до киносеансов), собирать участников, управлять публикацией и модерацией контента. Реализован на микросервисной архитектуре: основной сервис разделён на публичный, закрытый и административный API, а отдельный сервис статистики фиксирует запросы к эндпоинтам и формирует аналитику. Дополнительно добавлены комментарии к событиям с функционалом модерации.
-
Основной сервис — содержит всё необходимое для работы продукта.
- Просмотр событий без авторизации;
- Возможность создания и управления категориями;
- События и работа с ними - создание, модерация;
- Запросы пользователей на участие в событии - запрос, подтверждение, отклонение;
- Создание и управление подборками;
-
Сервис статистики — хранит количество просмотров и позволяет делать различные выборки для анализа работы приложения.
API основного сервиса разделен на три части. Первая — публичная, доступна без регистрации любому пользователю сети. Вторая — закрытая, доступна только авторизованным пользователям. Третья — административная, для администраторов сервиса.
- Публичный (доступен для всех пользователей)
- API для работы с событиями
- API для работы с категориями
- API для работы с подборками событий
- Приватный (доступен только для зарегистрированных пользователей)
- API для работы с событиями
- API для работы с запросами текущего пользователя на участие в событиях
- Административный (доступен только для администратора проекта)
- API для работы с событиями
- API для работы с категориями
- API для работы с пользователями
- API для работы с подборками событий
Собирает информацию. Во-первых, о количестве обращений пользователей к спискам событий и, во-вторых, о количестве запросов к подробной информации о событии. На основе этой информации формируется статистика о работе приложения.
- Административный (доступен только для администратора проекта)
- API для работы со статистикой посещений
- Скопировать репозиторий
- Собрать проект:
mvn clean package - Запуск контейнеров:
docker-compose build,docker-compose up -d
| Java 21 | JavaScript | Maven | Spring Boot | PostgreSQL | H2 | JPA | Hibernate | Swagger | Junit5 | Mockito | Postman | Docker |