Categorygithub.com/sirin7/go_final_project
repositorypackage
0.0.0-20241107164912-5e5b8071adf5
Repository: https://github.com/sirin7/go_final_project.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# 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 содержит файлы фронтенда.