Skip to content

📊 сервис API агрегирующий запрошенные данные.

Notifications You must be signed in to change notification settings

Ecmek/shop_metrics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shop_metrics

Цель данного API сервиса:

  • Получать запрошенные колонки
  • Фильтровать данные по одной или нескольким колонкам: дате (from/to), магазинам, странам
  • Группировать данные по одной или нескольким колонкам: датам, магазинам, странам
  • Сортировать по любой из колонок
  • Если не указано, какие колонки необходимо отобразить, то отобразятся все колонки.

Технологии

Python, Django, DRF, django-filter

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

  • Клонировать репозиторий и перейти в него в командной строке:
  • Установите и активируйте виртуальное окружение:
Для пользователей Windows:
python -m venv venv
source venv/Scripts/activate
python -m pip install --upgrade pip
  • Установите зависимости из файла requirements.txt
pip install -r requirements.txt
  • Перейдите в каталог с файлом manage.py выполните команды: Выполнить миграции:
python manage.py migrate

Заполнить бд данными:

python manage.py load_data

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

python manage.py runserver

В данном проекте использовано LimitOffsetPagination, по умолчанию на 100 записей. Для изминения перейдите в settings.py

Ссылка на использованные данные:

Dataset: https://gist.github.com/artrey/8d6a3f2d91cefb5e6343bedbc9ef8c79

Примеры запросов:


  1. Показать сырые данные вида Date - Visitors - Earnings
api/v1/metrics/?show=date&show=visitors&show=earnings
  1. Показать сырые данные вида Date - Country - Visitors - Earnings за промежуток с 2021-03-20 по 2021-06-01
api/v1/metrics/?show=date&show=country&show=visitors&show=earnings&date_from=2021-03-20&date_to=2021-06-01
  1. Показать сгруппированные данные по странам, при этом отобразить Earnings и упорядочить по убыванию по Earnings
api/v1/metrics/?group=country&show=earnings&o=-earnings
  1. Показать сгруппированные данные по магазинам и странам и при этом отобразить Visitors
api/v1/metrics/?group=country&group=shop&show=visitors

About

📊 сервис API агрегирующий запрошенные данные.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages