# Packages
# README
Файлы для итогового задания
Данное приложение предназначено для планирования и управления задачами
Функции приложения:
- Создание задач с возможностью указания даты выполнения, комментария и правила повторения
- Обновление существующих задач
- Удаление задач
- Автоматическое перенесение задач на следующую дату при выполнении
- Получение списка задач с возможностью сортировки по дате
- Получение задачи по ID
Проект состоит из нескольких пакетов:
- handlers: содержит обработчики HTTP-запросов.
- models: сожердит структру с полями задач
- helpers: вспомогательные функции, такие как расчеты дат, проверку полей задач
- constants: содержит константы, используемые в приложении.
- database: содержит SQL зарос для создания таблицы scheduler, отвечает за взаимодействие с базой данных.
- server: содержит подключение к базе и запуск сервера
Были реализованы задания повышенной сложности:
- Возможность определять извне порт при запуске сервера с помощью переменной окружения TODO_PORT
- Возможность определять путь к файлу базы данных через переменную окружения TODO_DBFILE
Прежде чем запустить приложение необходимо выполнить команду go mod tidy Для запуска приложения необходимо выполнить команду go run . После запуска сервер будет доступен по адресу: http://localhost:7540
В директории tests
находятся тесты для проверки API, которое должно быть реализовано в веб-сервере.
Перед запуском тестов в файле tests/settings.go необходимо задать следующие значения:
var Port = 7540 var DBFile = "../scheduler.db" var FullNextDate = false var Search = false var Token = ``
Для запуска всех тестов необходимо выполнить команду go test ./tests
Директория web
содержит файлы фронтенда.