Бот для формирования заказов для сервиса доставки. В данном проекте я практиковался в написании приложения с микросервисной архитектурой на Go.
Для связи микросервисов был использован gRPC. В проекте используется база данных PostgreSQL. Миграция БД осуществляется с помощью отдельного контейнера. Один из сервисов(который взаимодействует с Telegram API) написан на NodeJS.
Бот предоставляет список доступных в каталоге продуктов и топпингов к ним, позволяет добавить товары в корзину/удалить товары из корзины, сформировать заказ из корзины.
Конфигурация приложения осуществляется с помощью переменных окружения. Можно создать .env файл, скопировав default.env, либо просто изменить default.env. В этом файле требуется указать токен telegram бота. При необходимости поменять данные для подключения к БД.
Для запуска приложения требуется:
- Docker
- docker-compose
Сборка и запуск приложения осуществляется командой:
docker-compose up --build -d --remove-orphans