Skip to content

Dana299/FullStats

Repository files navigation

FullStats

ЦЕЛЬ

Автоматически отслеживать динамику изменения параметров карточки товара на маркетплейсе Wildberries (далее Карточка), получать по запросу статистическую информацию о состоянии параметров Карточки в заданном диапазоне дат с заданным временным интервалом (не чаще 1 записи в час).


USER STORY

Я, как пользователь, хочу зарегистрироваться в сервисе, указать логин, пароль и email. Я, как пользователь, хочу редактировать список артикулов товаров, изменения в которых мне нужно отслеживать. Я, как пользователь, хочу указать артикул товара, дату начала периода, дату окончания периода, интервал (на выбор 1 час, 12 часов, 24 часа) и получить в соответствии с заданными параметрами историческую информацию о параметрах Карточки.


БИЗНЕС ТРЕБОВАНИЯ

По Карточке должна собираться следующая информация:

  • Артикул товара (число)
  • Наименование товара (строка)
  • Цена без скидки (число, коп.)
  • Цена со скидкой (число, коп.)
  • Бренд (строка)
  • Поставщик (строка)

Каждый час должен запускаться процесс обновления информации о всех товарах, на которые подписаны пользователи.


ТЕХНИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ

Django-приложение, предоставляющее RESTful API для JWT аутентификации, редактирования списка отслеживаемых Карточек авторизованным пользователем (CRUD), получения исторической информации о состоянии Карточки (фильтрация по диапазону дат, по интервалу вывода). Задачи коллекционирования данных должны быть реализованы в виде асинхронных Celery задач. Система должна быть реализована в виде Docker стека, описанного в docker- compose.yaml Разработка должна вестись с использованием системы контроля версий Git.


СТЕК ТЕХНОЛОГИЙ

  • Django
  • DjangoRestFramework
  • Celery
  • Pytest
  • PostgreSQL
  • Docker
  • Docker-compose
  • Git

Развертывание

  1. Клонировать репозиторий:

    git clone https://github.com/Dana299/FullStats.git && cd FullStats
    
  2. Создать .env файл по образцу .envexample и по необходимости изменить значения переменных. Секретный ключ можно сгенерировать на https://djecrety.ir/.

  3. Поднять контейнеры

    docker-compose up