Тестовое задание на позицию Go разработчика
README.md |
golang-hello-world
Тестовое задание на позицию Go разработчика
Описание задания
Написать консольную утилиту для получения списка репозиториев GitHub аккаунта (указанного в аргументе), а также список релизов для каждого репозитория в этом аккаунте. Полученную информацию вывести в консоль в виде отсортированного списка релизов для каждого репозитория. В случае ошибки при получении данных по API необходимо корректно завершить работу программы и вывести ошибку. Покрыть функционал тестами.
Пример работы утилиты
Успешный запуск
$ ./github-scanner symfony
symfony/symfony
6.0.0
5.4.0
5.3.1
...
symfony/validator
5.3.1
...
Запуск с ошибкой
$ ./github-scanner qweqwe123123
Account `qweqwe123123` not found.
Требования к реализации
- При реализации можно использовать пакеты стандартной Go-библиотеки (https://pkg.go.dev/std). Внешние библиотеки для реализации не требуются
- Результат оформите в виде GitHub-репозитория и пришлите нам ссылкой
Полезные материалы
- https://docs.github.com/en/rest — общее описание REST API GitHub
- https://docs.github.com/en/rest/reference/repos — метод для получения списка репозиториев
- https://docs.github.com/en/rest/reference/releases — метод для получения списка релизов
Что для нас важно
Мы смотрим на полноту реализации, качество реализации с точки зрения дальнейшей поддержки утилиты и продуманность с точки зрения граничных кейсов.
Удачи в реализации 👋