Пример проекта по курсу «Разработчик на Spring Framework»

Заключительный месяц обучения на курсе «Разработчик на Spring Framework» посвящён выполнению проектной работы. Наши студенты на практике реализуют полученные знания, создавая собственные проекты. Один из таких проектов — Ticket-tracker. Это облачный сервис, в котором несколько компаний работают в разных изолированных пространствах. По функционалу он схож с Jira. В рамках реализации проекта был выполнен фронтенд и бекенд.

Функционал Ticket-tracker

Сервис обладает следующими возможностями: • создание, редактирование, просмотр таска (поля: id, название, описание, статус, приоритет, исполнитель, метки); • изменение статуса тикета (по единому флоу); • назначение исполнителя; • оставление комментариев; • дашборд тикетов исполнителя с сортировкой по приоритетам и статусам; • обзор всех тикетов с сортировкой и поиском по меткам и исполнителям.

Особенности сервиса

• деплой в docker-compose одной командой; • Signle Sing-On (Keycloak); • бэкенд — Json REST API, фронтенд — SPA; • поддержка роутинга в SPA, в частности, открытие страницы тикета по ссылке; • бэкенд построен на реактивной архитектуре (Project Reactor); • основное приложение (Issue Tracker) балансится на несколько нод (Zuul).

Теперь рассмотрим стек

• бэкенд: Spring WebFlux, Spring Data Reactive MongoDB, Spring Reactive Security, Spring Cache, Hystrix, Keycloak, Zuul, Eureka, Mongobee, Swagger; • фронтенд: ReactJS, React Router, Material UI; • ops: Docker, Docker Compose, Nginx (для фронтенда), Reactive MongoDB (основная БД), PosrgreSQL (БД Keycloak'a).

Вы можете ознакомиться с подробным содержанием проекта по ссылке на репозиторий. И не забывайте оставлять свои комментарии!