Описание проекта
diplom-group25 - это учебный проект на Spring Boot, состоит из 9 микросервисов, представляет собой социальную сеть.
Мною реализовано 4 микросервиса, один из них - microservice dialog.
Ссылка на стенд: http://130.61.44.151/login
Презентация проекта: https://www.youtube.com/watch?v=wHGmJVBqXho
microservice dialog отвечает за следующий функционал:
- создание нового диалога, сохранение его в БД
- получение сообщений диалога (реализована пагинация, при получении сообщений меняется статус с непрочитанного на прочитанное, идет пересчет количества новых сообщений)
- сохранение нового сообщения, полученного через Kafka, в БД, отправка уведомления о получении сообщения через Kafka в microservice-streaming
- получение всех диалогов пользователя с последним сообщением для каждого диалога для отображения их на фронте
Сервис упакован в докер-контейнер.
docker push skillgroup25/microservice-dialog
Порт сервиса: 8080
БД проекта - PostgreSQL
Маппинг сущностей выполняется через MapStruct.
Подключен Liquibase для удобства контроля версий БД.
Взаимодействие приложения с БД через Spring Data JPA / Hibernate.
Spring Security на Jwt-токенах (передается в headers)
В проекте также используется Lombok для упрощения процесса разработки и снижения количества кода.
Обработка входящий сообщений Apache Kafka реализована в асинхронном режиме с помощью ThreadPoolTaskExecutor
Подключен Swagger, подробная документация по эндпоинтам: http://localhost:8080/swagger-ui/index.html
Также можно открыть в файле swagger.json в корне проекта