Статья подготовлена для студентов курса «Разработчик на Spring Framework» в образовательном проекте OTUS.
Заключительный месяц обучения на курсе «Разработчик на Spring Framework» посвящён выполнению проектной работы. Наши студенты на практике реализуют полученные знания, создавая собственные проекты. Один из таких проектов — Ticket-tracker. Это облачный сервис, в котором несколько компаний работают в разных изолированных пространствах. По функционалу он схож с Jira. В рамках реализации проекта был выполнен фронтенд и бекенд.
Сервис обладает следующими возможностями:
• создание, редактирование, просмотр таска (поля: 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).
Вы можете ознакомиться с подробным содержанием проекта по ссылке на репозиторий. И не забывайте оставлять свои комментарии!
Чтобы присоединиться к ближайшей группе, обязательно пройдите вступительное тестирование:
ПРОЙТИ ТЕСТИРОВАНИЕ