Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Планировщик задач

Описание проекта

Этот проект представляет собой планировщик задач, предназначенный для эффективного управления личными или командными задачами. Он позволяет пользователям хранить задачи с указанием даты дедлайна, заголовка и комментария. Особенностью планировщика является поддержка повторяющихся задач, которые автоматически переносятся на следующую дату после выполнения в соответствии с заданным правилом. Обычные (неповторяющиеся) задачи при выполнении удаляются.

Функциональность планировщика

Планировщик предоставляет следующие возможности:

  • Хранение задач: Каждая задача содержит:
    • Дату дедлайна
    • Заголовок
    • Комментарий
  • Повторяющиеся задачи: Задачи могут быть настроены на повторение по заданным правилам:
    • Ежегодно
    • Через определённое количество дней
    • В определённые дни месяца
    • В определённые дни недели При выполнении повторяющейся задачи, она автоматически переносится на следующую дату согласно правилу.
  • Обычные задачи: При выполнении обычные задачи удаляются из списка.

API

API планировщика предоставляет следующие операции для взаимодействия с задачами:

  • Добавить задачу: Создание новой задачи с указанием всех необходимых параметров.
  • Получить список задач: Получение списка всех текущих задач.
  • Удалить задачу: Удаление задачи по её идентификатору.
  • Получить параметры задачи: Получение подробной информации о конкретной задаче.
  • Изменить параметры задачи: Обновление существующих параметров задачи.
  • Отметить задачу как выполненную: Отметка задачи как выполненной, с соответствующей логикой для повторяющихся и обычных задач.

Выполненые задания с звездочкой

  • Реализуйте возможность определять извне порт при запуске сервера. Если существует переменная окружения TODO_PORT, сервер при старте должен слушать порт со значением этой переменной.
  • Реализуйте возможность определять путь к файлу базы данных через переменную окружения. Для этого сервер должен получать значение переменной окружения TODO_DBFILE и использовать его в качестве пути к базе данных, если это не пустая строка.
  • Вычисления следующих дат в случае недель и месяцев (FullNextDate = true в файле tests/settings.go)
  • Поиск по задачам (Search = true в файле tests/settings.go)

Не сделаны задания с звездочкой

  • Аутентификация
  • Создание докер-образа

Запуск веб сервера:

go run cmd/main.go

Адрес сервера в браузере

http://localhost:7540

Поддерживаемые переменные окружения:

  • TODO_PORT - изменить порт сервера
  • TODO_DBFILE - указать путь к файлу базы данных, по умолчанию, будет создан scheduler.db в корне проекта

Параметры для тестов из tests/settings.go

var Port = 7540
var DBFile = "../scheduler.db"
var FullNextDate = true
var Search = true
var Token = ``

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages