Это сайт сети ресторанов Star Burger. Здесь можно заказать превосходные бургеры с доставкой на дом.
Сеть Star Burger объединяет несколько ресторанов, действующих под единой франшизой. У всех ресторанов одинаковое меню и одинаковые цены. Просто выберите блюдо из меню на сайте и укажите место доставки. Мы сами найдём ближайший к вам ресторан, всё приготовим и привезём.
На сайте есть три независимых интерфейса. Первый — это публичная часть, где можно выбрать блюда из меню, и быстро оформить заказ без регистрации и SMS.
Второй интерфейс предназначен для менеджера. Здесь происходит обработка заказов. Менеджер видит поступившие новые заказы и первым делом созванивается с клиентом, чтобы подтвердить заказ. После оператор выбирает ближайший ресторан и передаёт туда заказ на исполнение. Там всё приготовят и сами доставят еду клиенту.
Третий интерфейс — это админка. Преимущественно им пользуются программисты при разработке сайта. Также сюда заходит менеджер, чтобы обновить меню ресторанов Star Burger.
- Клонируйте репозиторий
git clone https://github.com/gennadis/dockerized-burger-store.git
- Создайте и заполните
.env.dev
файл по образцу
mv .env.dev.example .env.dev
SECRET_KEY=<secret_key>
DEBUG=True
ALLOWED_HOSTS=localhost 127.0.0.1
YANDEX_APIKEY=<yandex_apikey>
ROLLBAR_TOKEN=<rollbar_token>
ROLLBAR_ENVIRONMENT=dev
POSTGRES_USER=burger_user
POSTGRES_PASSWORD=burger_password
POSTGRES_DB=burger_store
POSTGRES_ENGINE=django.db.backends.postgresql
POSTGRES_HOST=db
POSTGRES_PORT=5432
- Используя
docker compose
, соберите и запустите образыdjango
,parcel
иpostgres
docker compose -f docker-compose.dev.yaml up -d --build
- Накатите миграции
docker compose -f docker-compose.dev.yaml exec backend python manage.py migrate
- Загрузите тестовые данные (опционально)
docker compose -f docker-compose.dev.yaml exec backend python manage.py loaddata data.json
- Создайте учетную запись суперпользователя
docker compose -f docker-compose.dev.yaml exec backend python manage.py createsuperuser
- Для работы с сервисом используйте следующие ссылки: