Skip to content

Repository files navigation

Тестовое задание на позицию Java Developer

Заметки с напоминанием


Техническое задание:

  • Разработать приложение на Java Spring Boot, представляющее собой Backend REST API.
  • Данное приложение должно использовать: Liquibase, Hibernate, PostgreSQL.
  • Вся конфигурация приложения находится в отдельном конфигурационном файле в формате YAML.
  • Для авторизации пользователя используется Spring Security OAuth2.
  • В качестве сборки пакета используйте Gradle (можно MAVEN).
  • В качестве планировщика Quartz (можно @Scheduled).
  • Все API должны быть прокрыты функциональными и интеграционными тестами.

Общие требования:

  • Приложение, должно запускаться на выделенном сервере, поэтому приложение, должно быть упаковано в docker образ.
  • В качестве запуска, должен применяться docker-compose файл

Описание приложения.

В Рамках тестового задания, мы будем реализовывать приложение Reminder, суть которого заключается в том, что пользователь после авторизации попадает на главную страницу и может управлять списком напоминаний. Основные возможности приложения:

  • Создать новое напоминание
  • Удалить ранее созданное напоминание
  • Редактировать напоминание
  • Поиск напоминания (по названию, описанию, дате, времени)
  • Сортировка (по названию, дате, времени)
  • Фильтр (по дате, времени)
  • Список должен выводиться с пагинацией
  • При наступлении даты и времени напоминаний, приложение должно посылать уведомления с Заголовком сущности и описанием,
  • на email и telegram (Настройки адреса пользователя и его контакта в telegram должны задаваться в профиле пользователя)

API:

Стек технологий


В проекте используются:

  • Backend:
    • Java 17
    • Maven
    • Spring Boot
    • Spring Web
    • Spring Data
    • Spring JPA
    • Spring Security OAuth2
    • REST
    • Lombok
    • Stream API
    • Docker
  • SQL:
    • PostgreSQL
    • Liquibase

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages