Skip to content

Latest commit

 

History

History

README.md

Веб-приложение с микросервисной архитектурой на Java Spring

Приложение состоит из нескольких микросервисов, которые могут работать сами по себе:

  1. Микросервисы со всей бизнес-логикой. Микросервис для работников, для комментариев и для задач.
  2. Сама бизнес-логика включает в себя MessageListener'a для получения сообщений из брокера посредством RabbitMQ, обработку запросов и сервисов, которые уже с помощью репозитория выполняют соответствующий запрос. Бизнес логика работает с самими сущностями, но в DAL и PL используются Dto.
  3. На уровне представления находятся вся логика, с которой уже может взаимодействовать пользователь: контроллеры, в которых с помощью Spring Security происходит аутентификация и авторизация, обработка HTTP запроса и отправка сообщения в брокер.
  4. В Data Access Layer происходит обращения к данным, которые хранятся в БД.
  5. В RabbitMQ передаются не JPA сущности, а Dto, для преобразования которых есть кастомные мапперы, которые находятся в модуле вместе с сущностями.
  6. Для более удобной работы с Базой Данных используются миграции Flyway.
  7. Для всех созданных классов сделан интерфейс Swagger.

Идея приложения: сервис для сотрудников компании N, в котором администратор может добавлять и делать другие дейтсвия с пользователями. Сами же пользователи привязаны к определенным сотрудникам, что дает возможность добавлять новые задачи и комментарии, а также иметь возможность просмотреть, удалить или отредактировать задачи, комментарии.

Инструменты, использовавшиеся при разработке проекта:

  • Spring: Boot, MVC, Data, Security
  • MySQL
  • Hibernate
  • Flyway
  • RabbitMQ
  • Gradle
  • Swagger
  • Lombok