Приложение представляет собой афишу, с помощью которой можно предложить какое-либо событие от выставки до похода в кино и набрать компанию для участия в нём.
- Java 11,Maven, Spring-Boot, Hibernate, Postgresql, Lombok, Docker-compose, RestTemplate
-
- ewm-service - реализация основной бизнес-логики
- stats-server - сбор и хранение статистики по обращению к публичным эндпоинтам/выполнение различных воборок по анализу работы приложения
-
- Запросы на получение категорий событий
- Запросы на получение подборок событий
- Запросы на получение скоращенной информации конкретного события по id
- Запросы на получение списка событий по заданным фильтрам
-
- Запросы на создание/обновление/отмену события
- Запросы на получение своих событий
- Запросы на создание заявки на участие в событие
- Запросы на получение своих заявок на участие в событиях
- Запросы на получение заявок на участие в собственном событии
- Запросы на отмену заявки на участие в событии пользователем
- Запросы на отклонение/подтверждение заявок на участие в событии владельцем события
- Запросы на создание/изменение/удаление/получение комментариев
-
- Запросы на создание/изменение/удаление категорий
- Запросы на создание/удаление пользователей
- Запросы на получение информации о пользователях
- Запросы на создание/изменение/удаление/закрепление на главной странице подборок событий
- Запросы на подтверждение/отклонение/изменение событий пользователей
- Запросы на получение событий по заданным параметрам
- Запросы на получение статистики по количеству публичных запросов
- Запросы на изменение/удаление/получение/блокировку комментариев
- Запросы на блокировку возможности создавать/редактировать комментарии к событиям пользователям
-
Статистическая часть приложения предназначена для сбора информации о количестве обращений пользователей к спискам событий и о количестве запросов к подробной информации о событии. На основе этой информации должнаформироваться статистика о работе приложения.
- Аутентификация и авторизация
Оба сервиса ExploreWithMe работают внутри VPN. С внешним миром сервисы связывает сетевой шлюз. Он контактирует с системой аутентификации и авторизации, а затем перенаправляет запрос в сервисы. То есть, если шлюз пропустил запрос к закрытой или административной части API, значит, этот запрос успешно прошел аутентификацию и авторизацию.
- Чтобы запустить сервисы по отдельности (через main) нужна запущенная бд Postgres. С помощью pgAdmin4 создайте базу
данных:
- Необходимо создать базу данных postgreSQL для server:
- POSTGRES_USER = root
- POSTGRES_PASSWORD = root
- POSTGRES_DB = ewm-server
- Необходимо создать базу данных postgreSQL для stats:
- POSTGRES_USER = root
- POSTGRES_PASSWORD = root
- POSTGRES_DB = stats
- Запустить сервис server
- server.port = 8080
- Запустить сервис stats
- server.port = 9090
- Необходимо создать базу данных postgreSQL для server:
- Для запуска проекта потребуется docker и docker-compose.
- Команда "docker-compose up" запускает оба сервиса с их бд
- Для проверки работоспособности приложения предусмотрены тесты для приложения постман:
