Это сайт цветочных мастерских FlowerShop.
Через сайт возможно ознакомиться со списком продающихся букетов.
Подобрать букет по паре вопросов.
Записаться на консультацию.
Ознакомиться со статистикой продаж менеджеру (дашборд)
Флористу взять заказы
На сайте есть три независимых интерфейса.
Первый — это публичная часть, где заказать букет и записаться на консультацию.
Второй — это авторизованная зона, где флористы могут взять заказ в работу и передать в доставку, а также менеджер может посмотреть статистику продаж.
Третий интерфейс это админка. Преимущественно им пользуются программисты при разработке сайта. Также сюда заходит администратор, чтобы добавить мастерскую, букеты и новые поводы для буктов.
Скачайте код.
Перейдите в каталог проекта:
cd FlowerShop
Установите Python, если этого ещё не сделали.
Проверьте, что python
установлен и корректно настроен. Запустите его в командной строке:
python --version
Возможно, вместо команды python
здесь и в остальных инструкциях этого README придётся использовать python3
. Зависит
это от операционной системы и от того, установлен ли у вас Python старой второй версии.
В каталоге проекта создайте виртуальное окружение:
python -m venv venv
Активируйте его. На разных операционных системах это делается разными командами:
- Windows:
.\venv\Scripts\activate
- MacOS/Linux:
source venv/bin/activate
Установите зависимости в виртуальное окружение:
pip install -r requirements.txt
Определите переменные окружения:
DJANGO_SECRET_KEY
— секретный ключ проекта. Он отвечает за шифрование на сайте. Например, им зашифрованы все пароли на вашем сайте.LINK_PAY
— секретный ключ для интеграции с банковским сервисом ArsenalPay.DEBUG
— ОПЦИОНАЛЬНО, дебаг-режим. ПоставьтеFalse
илиTrue
.ALLOWED_HOSTS
— ОПЦИОНАЛЬНО, см. документацию Django Создать файл.env
в каталогеbeauty_city/
и положите туда такой код:
SECRET_KEY=django-insecure-0if40nf4nf93n4
LINK_PAY=https://arsenalpay.ru/widget.html?widget=12345&destination=67890&amount=
Создайте файл базы данных SQLite и отмигрируйте её следующей командой:
python manage.py migrate
Запустите сервер:
python manage.py runserver
Откройте сайт в браузере по адресу http://127.0.0.1:8000/.
- Создайте букет в модели "Букеты", относительный адрес /admin/flowerapp/bouquet/add/
- При создании вам потребуются также поводы, которым удовлетворяет букет, создать из можно там же
- При создании вам потребуются также состав букета, элементы состава также можно создать там же
Для того чтобы посмотреть, как работает статистика продаж (дашборд) на больших данных возможно вы захотите добавить несколько десятков тысяч заказов, сделать это можно специальной командой
python manage.py create_test_orders
Удалить из можно по команде
python manage.py delete_test_orders
- Использовать сервис Яндекс.Карты конструктов
- Добавить точки салонов на карты
- Сохранить карту в размере 398*316px
- Нажать на кнопку получения кода карты
- Копировать код Javascript (пример:
<script type="text/javascript" charset="utf-8" async src="https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3A91ac97307ed4da51b60dec5a82d971fc454cc9c30bc89b885820d3ddcf9c86a8&width=398&height=316&lang=ru_RU&scroll=true"></script>
) - Вставить в базовый шаблон html
- Связь букетов с салонами красоты
- Интерфейс менеджера с возможностью назначение флористов/курьеров в салоны и просмотром их показателей
- Добавление консультаций в интерфейс флориста
- Расширение интерфейса флориста до интерфейса флориста и курьера, чтобы курьеры там же могли отмечать заказы
- Добавление личного кабинета пользователя, где он может посмотреть свои заказы и консультации
- Добавление поддержке адресов и расчета расстояния до доставки
- Автоматическое выбор мастерской по адресу доставки и назначение заказов флористам/курьерам
- Если рекомендованных букетов больше 3, то на главной будет карусель
Код написан в учебных целях — это командный проект в курсе по Python и веб-разработке на сайте Devman.