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-магазин с:  

✔️ Каталогом товаров  

✔️ Корзиной  

✔️ Оформлением заказов  

✔️ Асинхронной БД