telegram-бот для магазина одежды
Технологии:
- Python (aiogram 3.x)
- SQLAlchemy (Async + SQLite)
- Asyncio
- FSM (Finite State Machine) для обработки заказов
---
Основные функции бота
1. 📌 Главное меню
- Кнопки:
- 🛍️ Каталог – просмотр категорий товаров
- 🛒 Корзина – управление заказами
- 📞 Контакты – информация о магазине
- ℹ️ О нас – описание компании
2. 🛍️ Каталог товаров
- Древовидная структура:
- Категории → Товары → Добавление в корзину
- Карточка товара:
- Фото
- Название
- Описание
- Цена
- Кнопка "Добавить в корзину"
3. 🛒 Корзина
- Просмотр добавленных товаров
- Удаление товаров
- Подсчет общей суммы
- Оформление заказа
4. 📦 Оформление заказа (FSM)
1. Ввод номера телефона (валидация формата)
2. Ввод адреса доставки
3. Подтверждение заказа
- Генерация номера заказа
- Сохранение в БД
- Очистка корзины
5. 📊 База данных (SQLite + SQLAlchemy Async)
Таблицы:
- Пользователи (`users`)
- Категории (`categories`)
- Товары (`items`)
- Корзина (`cart`)
- Заказы (`orders`)
- Элементы заказа (`order_items`)
---
Технические особенности
📌 Архитектура
- Чистая структура проекта (отдельные модули для handlers, keyboards, database)
- Асинхронность (aiogram 3.x + async SQLAlchemy)
- Состояния (FSM) для многошаговых сценариев (оформление заказа)
📌 Безопасность
- Валидация ввода (телефон, адрес)
- Обработка ошибок (try-except в критических операциях)
- Откат транзакций при ошибках (`session.rollback()`)
📌 UX/UI
- Интерактивные кнопки (Reply + Inline)
- Форматирование текста (HTML-разметка)
- Логичные переходы между разделами
---
Итог
FashionStore Bot – это полноценный Telegram-магазин с:
✔️ Каталогом товаров
✔️ Корзиной
✔️ Оформлением заказов
✔️ Асинхронной БД