FlowerShop — это веб-приложение для заказа доставки цветов, интегрированное с Telegram ботом для автоматического получения уведомлений о заказах. Проект разработан с использованием Django для серверной части и telebot для взаимодействия с Telegram.
- Регистрация пользователей: пользователи могут зарегистрироваться и войти в систему.
- Просмотр каталога цветов: возможность просматривать доступные букеты и их описание.
- Оформление заказа: пользователи могут добавлять букеты в корзину и оформлять заказы.
- Уведомления о заказах через Telegram бот: после оформления заказа, бот отправляет уведомление администратору с деталями заказа.
-
Клонируйте репозиторий:
git clone https://github.com/NewalexOA/FlowerShop.git cd FlowerShop -
Создайте и активируйте виртуальное окружение:
python -m venv .venv source .venv/bin/activate # Для Linux и macOS .venv\Scripts\activate # Для Windows
-
Установите зависимости:
pip install -r requirements.txt
-
Настройте переменные окружения:
Создайте файл
.envв корневой директории и добавьте следующие строки:TELEGRAM_BOT_TOKEN='your_telegram_bot_token'Замените
your_telegram_bot_tokenна токен вашего Telegram бота. -
Запустите скрипт run_once.py для создания суперпользователя и миграций:
python run_once.py
Будет создан суперпользователь с именем "admin" и паролем "admin@pass".
-
Запустите сервер разработки:
python manage.py runserver
- Перейдите на http://localhost:8000 и авторизуйтесь с помощью созданного суперпользователя.
- Перейдите в админку по ссылке http://localhost:8000/admin/ и создайте товары.
- Для администратора: получите ID чата, куда будут отправляться сообщения, и добавьте его в админке в соответствующее место: /admin/core/botsettings/
- На сайте просмотрите каталог и добавьте интересующие товары в корзину.
- Оформите заказ, указав адрес доставки и комментарии.
- Администратор получит уведомление через Telegram бот с деталями заказа.
Этот проект лицензирован по лицензии MIT. Подробности см. в файле LICENSE.
Если вы хотите внести свой вклад в проект, вы можете форкнуть этот репозиторий и отправить pull request. Любые предложения и улучшения приветствуются!