SmartDelivery - микросервисная платформа для автоматизации процессов приема, обработки и исполнения заказов на доставку еды из ресторанов. Система объединяет клиентов (через Telegram-бота) и операторов (через веб-панель).
- Многоканальный прием заказов: Telegram-бот для клиентов и веб-панель для операторов;
- Синхронная архитектура: все сервисы общаются через REST API;
- Интеграция с 1С: автовыгрузка закрытых заказов на учебный стенд 1С;
- Статическая карта: отображение меток ресторана и клиента на OpenStreetMap;
- Локализация: русский и английский языки в панели оператора.
- Python 3.12+ (сервисы: ресторанов, уведомлений, интеграции 1С, Telegram-бот);
- Go 1.25+ (API Gateway, сервис заказов);
- FastAPI - асинхронный веб-фреймворк для Python-сервисов;
- SQLAlchemy 2.0 (async) + Alembic - ORM и миграции;
- Pydantic - валидация данных и сериализация.
- REST / HTTP - протокол синхронного взаимодействия между сервисами.
- PostgreSQL - основная база данных (одна БД, разные схемы для сервисов).
- Vue 3 + Vuetify - панель оператора;
- Vite - сборщик и dev-сервер;
- Vue Router - маршрутизация;
- Vuex 4 - управление состоянием;
- Vue i18n - интернационализация (ru/en);
- Axios - HTTP-клиент для связи с API Gateway.
- Docker / docker-compose - контейнеризация всех сервисов;
- GitHub - контроль версий.
- Telegram Bot API - клиентский канал;
- Учебный стенд 1С (HTTP-сервис) - выгрузка закрытых заказов;
- OpenStreetMap (Leaflet.js) - отображение статических карт.
Ознакомьтесь с актуальной диаграммой развертывания:
MSA с синхронной коммуникацией через REST.
| Сервис | Язык | Назначение | Порт | Протокол |
|---|---|---|---|---|
gateway |
Go | API Gateway, единая точка входа | 8000 | REST |
order-service |
Go | Управление заказами, статусная машина | 8001 | REST |
restaurant-service |
Python | CRUD ресторанов и меню | 8002 | REST |
notification-service |
Python | Отправка уведомлений в Telegram | 8003 | REST |
integration-1c |
Python | Выгрузка данных в учебный стенд 1С | 8004 | REST |
telegram-bot |
Python | Обработка диалога с клиентами | - | Telegram API |
frontend |
Vue | Веб-панель оператора (SPA) | 8080 | - |
- Docker Desktop
- Git
# клонируйте репо
git clone https://github.com/KontsertKishlaka/smart-delivery.git
cd smart-delivery
# запустите систему
docker-compose up -d
# проверьте статусы сервисов (опционально)
docker-compose ps| Ресурс | URL |
|---|---|
| API Gateway (Swagger для Python-сервисов) | http://localhost:8000/docs |
| Панель оператора (Vue) | http://localhost:8080 |
| PostgreSQL | http://localhost:5432 |
smart-delivery/
├── gateway/ # API Gateway (Go)
├── order-service/ # Сервис заказов (Go)
├── restaurant-service/ # Сервис ресторанов (FastAPI)
├── notification-service/ # Сервис уведомлений (FastAPI)
├── integration-1c/ # Интеграция с 1С (FastAPI)
├── telegram-bot/ # Telegram-бот (aiogram)
├── frontend/ # Панель оператора (Vue + Vite)
├── docker-compose.yml
└── README.md
| Роль | Имя |
|---|---|
| Владелец продукта, Тим-лид | Владислав Бедин |
| Ведущий разработчик | Кирилл Букарев |

