Categorygithub.com/Memonagi/go_final_project
module
0.0.0-20240712081009-018e26e35ac9
Repository: https://github.com/memonagi/go_final_project.git
Documentation: pkg.go.dev

# README

Описание проекта:

Проект представляет веб-сервер, который реализует функциональность простейшего планировщика задач.

Файлы проекта:

В директории tests находятся тесты для проверки API, которое должно быть реализовано в веб-сервере. Директория web содержит файлы фронтенда. Директория cmd содержит файл main.go. Директория internal содержит код программы.

Список выполненных заданий со звёздочкой:

  • Реализована возможность определять извне порт при запуске сервера;
  • Реализована возможность определять путь к файлу базы данных через переменную окружения;
  • Реализована возможность повторения задачи в указанные дни недели;
  • Создан докер образ.

Инструкция по запуску кода локально:

Для запуска кода необходимо выполнить следующие команды: go mod tidy go run cmd/scheduler-service/main.go

Примеры .env: TODO_PORT=7540 TODO_DB_FILE=../scheduler.db

Адрес, который следует указывать в браузере: http://localhost:7540/

Инструкция по запуску тестов:

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

Инструкция по сборке и запуску проекта через докер:

Для запуска контейнера необходимо выполнить следующие команды: docker build --tag scheduler-service:v1 . docker run -d -p 7540:7540 scheduler-service:v1

Дополнительно:

Для автоматизации компиляции и сборки программы в проекте присутствует Makefile. Он содержит следующие команды:

  • make build - инициирует процесс сборки программы.
  • make tidy - удаляет неиспользуемые зависимости и добавляет недостающие в go.mod.
  • make fmt - форматирует код для соответствия стандартам кодирования.
  • make lint - запускает команды tidy, fmt, build и выполняет проверку кода с помощью golangci-lint.
  • make build-docker - создает Docker-образ с тегом scheduler-service:v1.
  • make tests - выполняет тесты для проверки кода.

Для корректной работы Makefile должны быть установлены инструменты: Go, Docker, gofumpt, gci, и golangci-lint.

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

  • make lint - для проверки и подготовки кода.
  • make build-docker - для создания Docker-образа.
  • make tests -B - для принудительного запуска тестов и проверки работоспособности программы.

# Packages

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