Skip to content

OnEseil/task-tracker

Repository files navigation

Проект “Планировщик задач”

Многопользовательский планировщик задач. Пользователи могут использовать его в качестве TODO листа. Источником вдохновения для проекта является Trello.

Стек приложения:

  • Java
  • Maven
  • Spring Boot, Spring Security, Spring Scheduler, Spring Mail
  • PostgreSQL, Spring Data JPA, Redis
  • Docker (Dockerfile, Docker Compose)
  • Kafka
  • CI/CD, GitHub Actions

Для запуска приложения необходимо создать файл .env и на основе .env.example заполнить:

  • MAIL_USERNAME=
  • MAIL_PASSWORD=

обязательные поля, остальные нет

Для запуска необходимо в директории, где находится docker-compose-local.yaml прописать команду:

docker compose -f docker-compose-local.yaml up -d

Деплой:

  • Файл docker-compose.yaml необходим при деплое на сервер.
  • В папке .github/workflows находится файл deploy.yml.(Необходимо добавить секреты, для работы)

Краткое описание работы сервисов:

Backend

Spring Boot приложение, реализующее REST API для работы с пользователями, создаваемыми при авторизации, и задачами.

Работа с пользователями:

  • Регистрация
  • Авторизация
  • Logout

Работа с задачами:

  • Создание, редактирование (каждая задача имеет заголовок и описание)
  • Пометка задачи как сделанной
  • Удаление

Рассыльщик писем

Spring Boot приложение с двумя модулями - Spring Mail

Сервис взаимодействует с кафкой (как consumer): получает сообщение от планировщика по топику.

Для каждого полученного сообщения, содержимое которого десериализуется в экземпляр модели, используется модуль Spring Mail, чтобы отправить письмо на электронный адрес пользователя.

Планировщик

Включает в себя Spring Scheduler.

Задача сервиса - раз в сутки итерировать всех пользователей, формировать для них отчёты о задачах и изменениях в них за сутки, а также формировать email для отправки.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors