Интернет-магазин для быстрого поиска и заказа запасных частей мотоциклов KTM, Husqvarna, GasGas.
- Просмотр товаров и корзина для заказов;
- Купонная система со скидками по промокодам;
- Дружественный интерфейс оформления платежей;
- Платёжный шлюз для оплаты картой;
- Автоматическая отправка PDF-счёта на email;
- Система рекомендаций товаров;
- Кеширование запросов и результатов поиска.
- Клонируйте репозиторий с помощью команды:
git clone https://github.com/Alex-Wo/Motoparts-Store.git- Перейдите в каталог проекта:
cd myshop- Создайте виртуальную среду и активируйте её:
python3.11 -m venv env/myshop
source env/myshop/bin/activate (для Linux и MacOS)
.\env\myshop\Scripts\activate (для Windows)- Обновите pip и установите зависимости:
pip install --upgrade pip
pip install -r requirements.txt-
Установите зависимости WeasyPrint для вашей операционной системы. Это необходимо для генерации pdf чеков, которые генерируются из html шаблона.
-
Примените миграции базы данных:
python manage.py makemigrations
python manage.py migrate- Создайте суперпользователя:
python manage.py createsuperuser- Для функционала оплаты проведите ключи платежной системы Stripe. Создайте файл .env и добавьте
STRIPE_PUBLISHABLE_KEY = 'pk_test_your_key'
STRIPE_SECRET_KEY = 'sk_test_your_key'
STRIPE_API_VERSION = 'your_stripe_aoi_version'
STRIPE_WEBHOOK_SECRET = 'whsec_yourWebhookKey'- В контейнере Docker запустите службы RabbitMQ и Redis:
docker pull rabbitmq
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management
docker pull redis
docker run -it --rm --name redis -p 6379:6379 redis- Запустите celery worker:
celery -A myshop worker -l infoЕсли у вас Windows OS, то для корректной работы установите пакет Eventlet:
pip install eventlet- Запустите celery worker командой:
celery -A myshop worker -l info -P eventlet- Мониторинг Celery при помощи Flower:
celery -A myshop flower- Для просмотра активных работников Celery и статистики асинхронных заданий перейдите по адресу:
http://localhost:5555/dashboard
- Запустите прослушивание событий вебхуков:
stripe listen --forward-to localhost:8000/payment/webhook/- Запустите сервер разработки:
python manage.py runserver- Теперь вы можете открыть приложение в браузере по адресу:
По умолчанию, проект настроен на использование консольного бэкенда отправки почты. Для использования функционала отправки электронной почты, установите соответствующие параметры в файле settings.py
Если вы обнаружили ошибки или у вас есть предложения по улучшению проекта, пожалуйста, создайте новый Issue или отправьте Pull Request.
Этот проект лицензирован в соответствии с лицензией ISC. Подробности можно найти в файле LICENSE






