Приложение позволяющее делиться информацией об интересных событиях и помогать найти компанию для участия в них.
Случалось ли вам планировать мероприятие, искать информацию договариваться...
С сервисом - афишей вы легко сможете предложить какое-либо событие от выставки до похода в кино !
REST приложение реализовано с использованием микросервисной архитектуры.
- Основной сервис — содержит всё необходимое для работы приложения.
- Сервис статистики — хранит количество просмотров и позволяет делать различные выборки для анализа работы приложения.
- Управление событиями мероприятий
- Поиск событий и их посмотр
- Создание различных подборок мероприятий
- Публичный и авторизованный доступ пользователей
- Возможность подписок на зарегистрированных пользователей
- Управление категориями для мероприятий
- Возможности модерации для администраторов
- Сбор статистики обращений пользователей и их количество
Спецификация API доступна через Swagger. Для ее просмотра необходимо импортировать в Swagger файлы из корня проекта
ewm-main-service-spec.json
ewm-stats-service-spec.json
Пример, методов API доступных через Swagger:
- Создание события.
- Ожидание публикации. В статус ожидания публикации событие переходит сразу после создания.
- Публикация. В это состояние событие переводит администратор.
- Отмена публикации. В это состояние событие переходит в двух случаях. Первый — если администратор решил, что его нельзя публиковать. Второй — когда инициатор события решил отменить его на этапе ожидания публикации.
- Java
- Spring Boot
- Hibernate
- PostgreSQL
- Liquibase
- Docker Compose
- Apache Maven
- Project Lombok
- Postman
- IntelliJ IDEA
Потребуется Java 11, Docker, Git, Apache Maven
- Склонировать
git clone https://github.com/kal-an/java-explore-with-me
- Собрать проект
mvn clean package
- Запустить через Docker Compose
docker compose up
Подготовлены коллекции тестов, используя Postman для основного сервиса и сервиса статистики
postman/ewm-main-service.json
postman/ewm-stat-service.json