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 build -t task-manager .Для запуска образа Docker необходимо выполнить следующую команду:
docker run -p 7540:7540 task-managerМоджно запускать приложение в Docker с переменными окружения. Для этого необходимо выполнить следующую команду:
docker run -p 7540:7540 -e TODO_PASSWORD=password task-manager