Giter VIP home page Giter VIP logo

django_test_task's Introduction

Django Test Task

Тестовое задание

Реализовать модуль каталога. "Каталог" состоит из "товаров". У "товара" есть:

  • Название
  • Описание
  • Базовая цена
  • Порядок сортировки

У каждого "товара" есть:

  • "изображения":

    • Файл
    • Подпись
    • Порядок сортировки
  • "параметры":

    • Название
    • Значение
    • Цена
    • Порядок сортировки

Должна быть возможность редактирования каталога через Django Admin

Вывод каталога должен быть в REST:

  • список товаров
  • детальная информация по товару

Системные требования к реализации

  • Python 3.8 и выше
  • Django 3.2
  • Можно использовать любые доступные публично сторонние модули
  • PostgreSQL 13 и выше
  • Вместе с реализацией должны быть придоставлены фикстуры с тестовыми данными в модуле "каталог"
  • Redis 5 и выше

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

Для запуска проекта необходимо создать файл settings/local.py с, примерно, таким содержимым:

# ****************************************************************
# DJANGO

# DATABASES
from .core import DATABASES  # noqa
DATABASES['default']['PASSWORD'] = 'ПАРОЛЬ-К-БАЗЕ-ДАННЫХ'

# DEBUG
# https://docs.djangoproject.com/en/3.2/ref/settings/#debug
from .core import TEMPLATES  # noqa
DEBUG = True
INTERNAL_IPS = ('127.0.0.1', 'localhost')
TEMPLATES[0]['OPTIONS'].update({'debug': DEBUG})
ALLOWED_HOSTS = ['*']

# EMAIL
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

# ****************************************************************
# THIRD-PARTY

В нём нужно добавить / поправить конфигурацию под своё окружение.

Проверка тестового задания

  • Выполненное задание будет проверяться на Linux
  • Все сторонние модули должны быть прописаны в файле requirements.txt

Бонусный уровень

Плюсом будет выполнение дополнительных требований:

  • список товаров будет фильтроваться по параметрам: по названию и по значению
  • отдельно будет отдаваться список параметров для фильтрации:
    • только те параметры, которые есть хотя бы у одного товара
    • у каждого параметра будет список его уникальных значений
    • каждый параметр будет знать, у скольких товаров он есть (просто, поле с числом)
  • у каждого товара есть вложенные старницы с параметрами и изображениями

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.