В рамках дипломного проекта реализовано приложение, представляющее из себя афишу, в которой пользователи могут предлагать мероприятия и собирать компанию для участия в них.
- Java 11
- REST API
- Spring Boot
- Maven
- микросервисы, Docker
- PostgreSQL
- JPA, Hibernate
- Lombok
- Postman
- GateWay (не включен в проект, разрабатывается отдельно) - проверяет права пользователей и передает запросы на остальные микросервисы;
- Основной сервис — содержит всё необходимое для работы;
- Сервис статистики — хранит количество просмотров и позволяет делать различные выборки для анализа работы приложения.
- Модуль клиента сервиса статистики - HTTP-клиент на основе RestTemplate, который отправляет запросы и обрабатывает ответы;
- Модуль сервиса статистики, который содержит API с эндпойнтами для сохранения и формирования данных по запросу;
- Модуль общих ДТО.
- Публичная (доступна без регистрации для всех пользователей)
- API для работы с событиями
- API для работы с категориями
- API для работы с подборками событий
- API для работы с комментариями
- Приватная (доступна только для авторизированных пользователей)
- API для работы с событиями
- API для работы с запросами текущего пользователя на участие в событиях
- API для работы с комментариями
- Административная (доступна только для администраторов сервиса)
- API для работы с событиями
- API для работы с категориями
- API для работы с пользователями
- API для работы с подборками событий
- API для работы с комментариями
Основной сервис
Сервис статистики
Основной сервис
Сервис статистики
Функциональность комментирования
- mvn clean package
- mvn install
- docker-compose build
- docker-compose up -d
- основной сервис: http://localhost:8080
- сервис статистики: http://localhost:9090
- Покрыть проект тестами
- Реализовать возможность подписываться на других пользователей и получать список актуальных событий, опубликованных этими пользователями.
- Реализовать подписку на друзей и возможность получать список актуальных событий, в которых они принимают участие.
- Реализовать возможность ставить лайк/дизлайк событию. Формирование рейтинга мероприятий и рейтинга их авторов. Возможность сортировки событий в зависимости от рейтингов.
- Реализовать возможность для администратора добавлять конкретные локации — города, театры, концертные залы и другие в виде координат (широта, долгота, радиус). Получение списка этих локаций. Возможность поиска событий в конкретной локации.
- Улучшение модерации событий администратором — возможность выгружать все события, ожидающие модерации, делать их проверку, а также оставлять комментарий для инициатора события, если оно не прошло модерацию. При этом у инициатора есть возможность исправить замечания и отправить событие на повторную модерацию.