Необходимо выбрать и реализовать одну из предложенных тем:
- Веб-приложение "Заметки"
- Игра "Крестики-нолики"
- Программа для управления задачами
- Конвертер валют
- # HTTP-сервер для выдачи статических файлов
- Наличие юнит-тестов на ключевые алгоритмы (core-логику) сервиса.
- Наличие валидных Dockerfile для сервиса.
- Ветка master успешно проходит пайплайн в CI-CD системе
(на ваш вкус, GitHub Actions, Circle CI, Travis CI, Jenkins, GitLab CI и пр.).
Пайплайн должен в себе содержать:
- запуск последней версии
golangci-lint
на весь проект с конфигом, представленным в данном репозитории; - запуск юнит тестов командой вида
go test -race -count 100
; - сборку бинаря сервиса для версии Go не ниже 1.14.
- запуск последней версии
При невыполнении хотя бы одного из требований выше - максимальная оценка за проект 4 балла (незачёт), несмотря на, например, полностью написанный код сервиса.
Более подробная разбалловка представлена в описании конкретной темы.
Для упрощения проверки вашего репозитория, рекомендуем использовать значки GitHub (GitHub badges), а также Go Report Card.
Авторы ТЗ: