Многопользовательский планировщик задач. Пользователи могут использовать его в качестве 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
- MAIL_USERNAME=
- MAIL_PASSWORD=
обязательные поля, остальные нет
docker compose -f docker-compose-local.yaml up -d
- Файл docker-compose.yaml необходим при деплое на сервер.
- В папке .github/workflows находится файл deploy.yml.(Необходимо добавить секреты, для работы)
Spring Boot приложение, реализующее REST API для работы с пользователями, создаваемыми при авторизации, и задачами.
Работа с пользователями:
- Регистрация
- Авторизация
- Logout
Работа с задачами:
- Создание, редактирование (каждая задача имеет заголовок и описание)
- Пометка задачи как сделанной
- Удаление
Spring Boot приложение с двумя модулями - Spring Mail
Сервис взаимодействует с кафкой (как consumer): получает сообщение от планировщика по топику.
Для каждого полученного сообщения, содержимое которого десериализуется в экземпляр модели, используется модуль Spring Mail, чтобы отправить письмо на электронный адрес пользователя.
Включает в себя Spring Scheduler.
Задача сервиса - раз в сутки итерировать всех пользователей, формировать для них отчёты о задачах и изменениях в них за сутки, а также формировать email для отправки.