Socket
Socket
Sign inDemoInstall

github.com/mpuzanov/calendar

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/mpuzanov/calendar


Version published
Created
Source

Go Report Card

Домашнее задание

GRPC сервис

Цель: Создать GRPC API для сервиса календаря Тех. задание: https://github.com/OtusTeam/Go/blob/master/project-calendar.md Цель данного занятия: отработка навыков работы с GRPC, построение современного API.

  • Создать отдельную директорию для Protobuf спек.
  • Создать Protobuf спеки с описанием всех методов API, их объектов запросов и ответов.
  • Т.к. объект Event будет использоваться во многих ответах разумно выделить его в отдельный message.
  • Создать отдельный директорию для кода GRPC сервера
  • Сгенерировать код GRPC сервера на основе Protobuf спек (скрипт генерации сохранить в репозиторий).
  • Написать код, связывающий GRPC сервер с методами доменной области.
  • Критерии оценки: Все методы должны быть реализованы
  • Бизнес логика (пакет internal/domain в примере) НЕ должен зависеть от кода GRPC сервера
  • GRPC-сервер должен запускаться на порту указанном в конфиге и выводить в лог каждый обработанный запрос.

Код должен проходить проверки go vet и golint У преподавателя должна быть возможность заново сгенерировать код по Protobuf спекам У преподавателя должна быть возможность скачать и установить пакет с помощью go get / go install

Работа с базами данных

Цель: Обеспечить сохранение событий календаря в СУБД
Тех. задание: https://github.com/OtusTeam/Go/blob/master/project-calendar.md
Цель данного занятия: отработка навыков работы СУБД, SQL, пакетами database/sql и github.com/jmoiron/sqlx

  • Установить базу данных (например postgres) локально (или сразу в Docker, если знаете как)
  • Создать базу данных и пользователей для проекта календарь
  • Создать схему данных (таблицы, индексы) в виде отдельного SQL файла и сохранить его в репозиторий
  • В проекте календарь создать отдельный пакет, отвечающий за сохранение моделей в СУБД
  • Настройки подключения к СУБД вынести в конфиг проекта
  • Изменить код приложения так, что бы обеспечить сохранение событий в СУБД

Критерии оценки: Должны быть созданы все необходимые таблицы и индексы. SQL миграция должна применять с первого раза и должна быть актуальной, т.е. все изменения которые вы делали в своей базе должны быть отражены в миграции. Бизнес логика (пакет internal/domain в примере) должна использовать модуль для работы с СУБД через интерефейсы Код должен работать проходить проверки go vet и golint

FAQs

Package last updated on 05 Mar 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc