Домашнее задание “Заготовка” для микросервиса “Календарь” Цель: В результате выполнения ДЗ должен получиться базовый скелет микросервиса, который будет развиваться в дальнейших ДЗ. Структура кода должна соответствовать подходу Clean Architecture. В данном задании тренируются навыки: - декомпозиции предметной области; - построения элементарной архитектуры проекта. Завести в репозитории отдельную директорию для проекта "Календарь" Создать внутри структуру директорий, соответствующую Clean Architecture. Cоздать модели (структуры) календаря Cоздать методы бизнес логики (методы у структур) для работы с этими структурами: - добавление событий в хранилище - удаление событий из хранилища - изменение событий в хранилище - листинг событий - пр. на усмотрение студента Создать объекты ошибок (error sentinels) соответсвующие бизнес ошибкам, например ErrDateBusy - данное время уже занято другим событием Реализовать хранение событий в памяти (т.е. просто складывать объекты в слайсы) Реализовать Unit тесты проверяющие работу бизнес логики (в частности ошибки) На данном этапе не нужно: - Делать HTTP, GRPC и пр. интерфейсы к микросервису - Писать .proto-файлы (это будет позже) - Использовать СУБД Критерии оценки: Критерии оценки: - Созданы структуры, необходимые для реализации календаря - Соблюдены принципы Clean Architecture - Работа с хранилищем через интерфейс Код должен проходить проверки go vet и golint У преподавателя должна быть возможность скачать и проверить пакет с помощью go get / go test