## Домашнее задание №13 «API к Календарю» Необходимо реализовать HTTP и GRPC API для сервиса календаря. Методы API в принципе идентичны методам хранилища и [описаны в ТЗ](./CALENDAR.MD). Для GRPC API необходимо: * создать отдельную директорию для Protobuf спецификаций; * создать Protobuf файлы с описанием всех методов API, объектов запросов и ответов ( т.к. объект Event будет использоваться во многих ответах разумно выделить его в отдельный message); * создать отдельный пакет для кода GRPC сервера; * добавить в Makefile команду `generate`; `make generate` - вызывает `go generate`, которая в свою очередь генерирует код GRPC сервера на основе Protobuf спецификаций; * написать код, связывающий GRPC сервер с методами доменной области (бизнес логикой); * логировать каждый запрос по аналогии с HTTP API. Для HTTP API необходимо: * расширить "hello-world" сервер из [ДЗ №12](./12_README.md) до полноценного API; * создать отдельный пакет для кода HTTP сервера; * реализовать хэндлеры, при необходимости выделив структуры запросов и ответов; * сохранить логирование запросов, реализованное в [ДЗ №12](./12_README.md). Общие требования: * должны быть реализованы все методы; * календарь не должен зависеть от кода серверов; * сервера должны запускаться на портах, указанных в конфиге сервиса. **Можно использовать https://grpc-ecosystem.github.io/grpc-gateway/.** ### Критерии оценки - Makefile заполнен и пайплайн зеленый - 1 балл - Реализовано GRPC API и `make generate` - 3 балла - Реализовано HTTP API - 2 балла - Написаны юнит-тесты на API - до 2 баллов - Понятность и чистота кода - до 2 баллов #### Зачёт от 7 баллов