Jaloliddin Musayev
К проектам
MVP2026Розничная торговля

Telegram-бот для торговли

Полный цикл заказа для семейного продуктового магазина внутри Telegram — от каталога до уведомления администратору.

1
команда для деплоя
0
внешних файловых хостингов
91
файл кода

Проблема

Для маленького семейного магазина и сайт, и мобильное приложение были дороги и избыточны — клиенты и так сидели в Telegram и просто писали заказ текстом. В итоге заказы терялись в потоке сообщений, цену переспрашивали каждый раз, а о закончившемся товаре знал только тот, кто успел ответить.

Решение

Собрал весь поток внутри бота: категория → товар → корзина → оформление → уведомление в админскую группу. Каталогом админ управляет тоже из бота — добавляет товар, меняет цену, отмечает закончившийся, не заходя ни в какую панель. Фото товара хранится как Telegram `file_id`, поэтому внешний файловый хостинг не нужен вообще.

Ключевые возможности

  • aiogram 3 FSM и Redis — состояние корзины и оформления сохраняется, при обрыве пользователь не теряет заказ
  • Админ управляет всем каталогом командами бота: товар, цена, наличие
  • Фото товара как Telegram `file_id` — внешний файловый хостинг не нужен
  • Заказы приходят в админскую группу в структурированном виде
  • Многоязычные тексты вынесены в отдельный слой
  • Docker Compose — поднимается одной командой, миграции применяются автоматически
  • Async SQLAlchemy и слой репозиториев: будущее мобильное приложение строится поверх того же слоя данных
  • Отдельный FastAPI-API для входа через Telegram WebApp

Архитектура

Бот работает в режиме polling, состояние — в Redis, данные — в PostgreSQL. Слой репозиториев общий для бота и API — будущее мобильное приложение не будет дублировать доменную логику.

Точки входа

Telegram botTelegram WebAppAdmin group

Хендлеры и состояние

Состояние корзины и оформления в Redis

aiogram routersFSM statesMiddlewaresi18n

Слой репозиториев

CatalogCartOrdersShop settings

Данные и деплой

PostgreSQLRedisAlembicDocker Compose

Технологии

Backend

Python 3.11aiogram 3SQLAlchemy 2.0 (async)PostgreSQLRedisAlembicFastAPI

Инфраструктура

DockerDocker ComposeAuto migrations

Telegram

Bot APIFSM statesWebApp loginAdmin group routing

Моя роль

Единственный разработчик: бот, модель данных, админский поток, WebApp API и Docker-деплой.

Имена клиентов, домены и адреса серверов не раскрываются из соображений конфиденциальности.