Это сайт сети ресторанов Star Burger. Здесь можно заказать превосходные бургеры с доставкой на дом.
Ознакомиться с сайтом можете тут https://starburger.depocoder.xyz/
Сеть Star Burger объединяет несколько ресторанов, действующих под единой франшизой. У всех ресторанов одинаковое меню и одинаковые цены. Просто выберите блюдо из меню на сайте и укажите место доставки. Мы сами найдём ближайший к вам ресторан, всё приготовим и привезём.
На сайте есть три независимых интерфейса. Первый — это публичная часть, где можно выбрать блюда из меню, и быстро оформить заказ без регистрации и SMS.
Второй интерфейс предназначен для менеджера. Здесь происходит обработка заказов. Менеджер видит поступившие новые заказы и первым делом созванивается с клиентом, чтобы подтвердить заказ. После оператор выбирает ближайший ресторан и передаёт туда заказ на исполнение. Там всё приготовят и сами доставят еду клиенту.
Третий интерфейс — это админка. Преимущественно им пользуются программисты при разработке сайта. Также сюда заходит менеджер, чтобы обновить меню ресторанов Star Burger.
Настройте бэкенд:
создайте файл .env
в каталоге star_burger/
со следующими настройками:
Все настройки, кроме отмеченных звёздочкой *
необязательные. Для local окружения можно не настраивать.
ROLLBAR_ENVIRONMENT_NAME
— в Rollbar задаёт название окружения или инсталляции сайта;ROLLBAR_ACCESS_TOKEN
— API ключ от rollbar, находится в ваших проектах;- *
POSTGRES_USER
— Логин от postgres user'а; - *
POSTGRES_PASSWORD
— Пароль от postgres user'а; POSTGRES_HOST
— Адрес от postgres;POSTGRES_PORT
— Порт от postgres;DEBUG
— Дебаг-режим; ПоставьтеFalse
;YANDEX_API_KEY
— API ключ от яндекс гео-кодера;- *
SECRET_KEY
— Секретный ключ проекта. Он отвечает за шифрование на сайте/ Например, им зашифрованы все пароли на вашем сайте; ALLOWED_HOSTS
— см; документацию Django.
Установите Docker и Docker-compose
Отдельно собирать docker images не надо, их соберет Docker Compose при первом запуске.
Запустите контейнеры:
docker-compose -f docker-compose.local.yml up
Установите nginx
sudo apt install nginx-full
Настройте nginx. Если никогда не работали с ним то вот ссылка на документацию.
Создайте конфиг для nginx. Скопируйте пример конфига ниже, указав свой путь до проекта:
server {
listen 80 default;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8080/;
}
location /media/ {
alias {your_path_to_star-burger}/media/;
}
location /static/ {
alias {your_path_to_star-burger}/frontend/;
}
}
Скопируйте статику в папку проекта
docker cp star_burger_web:/code/staticfiles/. ./static/
docker cp star_burger_frontend:/frontend/bundles/. ./static/
Проведите миграции:
docker exec star_burger_web python manage.py migrate --no-input
Cоздайте админ пользователя:
docker exec -it star_burger_web python manage.py createsuperuser
Теперь можете зайти на страницу http://127.0.0.1/.
docker exec star_burger_web python manage.py test
За основу был взят код проекта FoodCart.