Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task-manager

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

Задания со звездочкой

  • Установка порта переменной окружения TODO_PORT
  • Реализована возможность определять путь к файлу базы данных через переменную TODO_DBFILE
  • Реализованы правила повторения по дням недели и числам месяцев
  • Реализована возможность выполнять поиск по датам и содержимому комментариев и темам задач
  • Реализована авторизация по паролю из переменной окружения TODO_PASSWORD
  • Добавлен файл для сборки образа Docker

Структура проекта

В директории api находятся файлы с API для веб-сервера.

В директории db расположены методы для работы с базой данных.

В директории server распологаются структуры и методы для запуска сервера.

В директории tests находятся тесты для проверки API, которое должно быть реализовано в веб-сервере.

Директория web содержит файлы фронтенда.

Директория authorization содержит файлы для авторизации пользователей.

Запуск проекта

Для запуска проекта необходимо выполнить следующие команды:

go run .

После чего приложение будет доступно по адресу http://localhost:7540/

Переменные окруцжения

При запуске проекта можно использовать переменные окружения, например:

TODO_PASSWORD=password go run .

В этом случае приложение запросит пароль для входа.

Переменная Назначение Значение по умолчанию
TODO_ADDR Адрес, на котором будет запущен сервер. -
TODO_PORT Порт, на котором будет запущен сервер. 7540
TODO_DBFILE Путь к файлу базы данных. scheduler.db
TODO_PASSWORD Пароль для входа в приложение. authorization
WEB_DIR Путь к директории с файлами фронтенда. web

Тестирование

Запуск тестов

Для запуска тестов необходимо выполнить следующую команду:

go test ./...

Тестирование с паролем

Для тестирования с паролем необходимо запустить приложение с переменной окружения TODO_PASSWORD:

TODO_PASSWORD=password go test ./...

После входа в приложение необходимо ввести пароль для входа в приложение. И получить токен для авторизации в DevTools бразуера на вкладке Application -> Cookies -> http://localhost:7540/, из таблицы скопировать значение куки с именем token и вставить его переменную Token в файле settings.go

Docker

Сборка образа Docker

Для сборки образа Docker необходимо выполнить следующую команду:

docker build -t task-manager .

Запуск образа Docker

Для запуска образа Docker необходимо выполнить следующую команду:

docker run -p 7540:7540 task-manager

Запуск образа Docker с переменными окружения

Моджно запускать приложение в Docker с переменными окружения. Для этого необходимо выполнить следующую команду:

docker run -p 7540:7540 -e TODO_PASSWORD=password task-manager

About

TODO list application

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages