Этот проект представляет собой gRPC-сервис для управления заказами. Сервис поддерживает как gRPC, так и HTTP-запросы через grpc-gateway. Написан по ходу специализации от Яндекс Лицея на курсе Веб-разработка на Go
- Создайте файл
.env
на основе примера.env.example
:
CONFIG_PATH="config/<name>.yaml"
POSTGRES_HOST: localhost
POSTGRES_PORT: 5432
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
POSTGRES_MAX_CONN: 10
POSTGRES_MIN_CONN: 5
Где <name>
— название вашего конфигурационного файла. (по умолчанию config/config.yaml)
- Создайте конфигурационный файл по пути, указанному в
.env
. Пример содержимого конфигурационного файла:
GRPC_PORT: 50051 # Порт для gRPC-сервера (по умолчанию 50051)
HTTP_PORT: 8080 # Порт для HTTP-сервера (по умолчанию 8080)
В проекте предоставлен Makefile
для упрощения сборки и запуска проекта. Доступные команды:
make build
— сборка бинарного файла.make exec
— запуск бинарного файла.make run
— сборка и запуск бинарного файла.make proto
— генерация кода для gRPC и grpc-gateway из proto-файла.make docker
— запуск контейнеров Docker.
- Убедитесь, что у вас установлены все зависимости и инструменты для работы с gRPC и protobuf.
- Выполните команду
make docker
для запуска контейнеров Docker.