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