# README
ToDo List
Простое приложение - планировщик задач
В этом приложении реализован следующий функционал:
- Добавление задач;
- Получение списка задач;
- Удаление задач;
- Возможность планирования задач с интервалами: Каждые N дней Каждую неделю Каждый месяц Каждый год
- Поиск задач по ID
- Реализовано API для взаимодействия с задачами
- Возможность запуска в докере
- Поиск задач по дате и времени
Запуск проекта
Для запуска этого приложения :
go run ./cmd/main.go, важно что при подобном запуске база данных каждый раз будет создаваться новая в /tmp директории, по этому он не рекоммендуется
go build -o server ./cmd/main.go - рекоммендованный запуск приложения, создаст базу рядом с собой при запуске бинарного файла
Возможные переменные:
TODO_PASSWORD
- Дефолтно 123456, если хотите изменить - нужно задать переменную окружения .TODO_DBFILE
- Расположение базы данных SQLite, обязательно если мы запускаем тесты, во всех остальных случаях определяется рядом с бинарникомTODO_PORT
- Порт на котором работает приложение, дефолт 7540.
Запуск в докере
docker build -t go_final_project:v1.0.0 .
docker run -p 7540:7540 -e TODO_PASSWORD=1234567 golang-go_final_project:v1.0.0
Запуск тестов
# Starting tests requires running application.
Необходимо получить JWT токен из ручки авторизации по пути:
http://appurl:7540/api/signin
Необходимо отправить POST запрос, в котором в body будет передан JSON с содержанием пароля
Далее после получения JWT токена его необходимо задать в переменную token по пути tests/settings.go
Очень важно экспортировать переменную пути DB
export TODO_DBFILE="current dbpath location"
go test -v ./tests