Giter Club home page Giter Club logo

marketplace's Introduction

Технологии:

Python Django Django REST Framework PostgreSQL Nginx gunicorn docker

Задача

Часть 1

Создать модели с полями. Вынести их в админ-панель.

Товар:

  • Название
  • Картинка
  • Контент
  • Стоимость

Заказ:

  • Итоговая сумма
  • Статус
  • Время создания
  • Время подтверждения

Платеж:

  • Сумма
  • Статус
  • Тип оплаты
Часть 2

Создать эндпоинты.

Эндпоинт получения списка Товаров:

  • GET-запрос с выдачей списка Товаров.

Эндпоинт создания нового Заказа:

  • POST-запрос с указанием списка Товаров. Итоговая сумма Заказа должна складываться из стоимостей всех Товаров. Во Время создания должен записываться текущий таймстамп.

Эндпоинт создания нового Платежа:

  • POST-запрос с указанием Заказа. Сумма должна браться из итоговой суммы Заказа.
Часть 3

Добавить в админке к модели Заказ кнопку подтверждения заказа. Она должна отображаться только если связанный Платеж имеет статус “Оплачен”. При нажатии на кнопку нужно изменить статус Заказа на “Подтвержден”, сохранить текущую дату и время в поле Время подтверждения. Сымитировать подготовку заказа (можно просто через sleep на несколько секунд) и отправить POST-запрос по адресу https://webhook.site/36693e00-8f59-4f7b-9a85-1d1e7ddde4d4 с телом JSON {"id":ИД_ЗАКАЗА, "amount":СУММА_ЗАКАЗА,”date”:ВРЕМЯ_ПОДТВЕРЖДЕНИЯ}

Запуск проекта

Создать файл окружения и заполнить необходимыми параметрами:

touch .env
SECRET_KEY='your_key'
DEBUG=0
DB_NAME= # имя базы данных
POSTGRES_USER= # логин для подключения к базе данных
POSTGRES_PASSWORD= # пароль для подключения к БД 
DB_HOST=db # название сервиса (контейнера)
DB_PORT=5432 # порт для подключения к БД

Запуск через docker

Клонируйте репозиторий, перейдите в папку, установите docker и docker-compose если нужно. Запустить приложения в контейнерах:

docker-compose up --build

или для запуска в фоном режиме:

docker-compose up -d --build

После успешной сборки выполните команды:

Выполните миграции:

docker-compose exec web python manage.py migrate
docker-compose exec backend python manage.py collectstatic --no-input

Создать суперпользователя Django:

docker-compose exec web python manage.py createsuperuser

Проект будет доступен по адрессу:

Остановить контейнер:

docker-compose stop

Автор

Selivanov Dmitry

marketplace's People

Contributors

dimanitto avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.