Небольшой сервис, который представляет собой электронную библиотеку. На данный момент он содержит простейшие команды для работы с книгами, подробнее будет рассказано ниже.
Перед запуском проекта следует прописать в командной строке
make generateВ случае если вы работаете на Windows рекомендуется использовать WSL.
- AddBook - добавляет книгу в библиотеку
- UpdateBook - изменяет данные у книги в библиотеке
- GetBookInfo - возвращает данные книги, находящейся в библиотеке
- RegisterAuthor - добавляет данные автора в библиотеку
- ChangeAuthorInfo - обновляет информацию об авторе
- GetAuthorInfo - возвращает данные об авторе
- GetAuthorBooks - возвращает все книги определённого автора
Более подробно с каждым из запросов можно ознакомится в файле.
К данному проекту написаны unit тесты, для которых были сгенерированы моки. Кроме того, присутствуют integration тесты.
В проекте были использованы следующие технологии
- Структура проекта go-clean-template
- Для генерации кода easyp
- Для логирования zap
- Для валидации protoc-gen-validate
- Для поддержики REST-to-gRPC API gRPC gateway
- Для миграций goose
- pgx как драйвер для postgres