Skip to content

Instantly share code, notes, and snippets.

@EvgeniyGartsev
Forked from artrey/Task.md
Created August 6, 2021 14:56
Show Gist options
  • Save EvgeniyGartsev/1997f363d9875a78c2d0620ccd2ef3c0 to your computer and use it in GitHub Desktop.
Save EvgeniyGartsev/1997f363d9875a78c2d0620ccd2ef3c0 to your computer and use it in GitHub Desktop.

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

Вам необходимо разработать API сервис для выдачи информации из датасета выше. Клиент должен иметь возможность:

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

Если клиент не указывает, какие колонки необходимо отобразить, то требуется отобразить все колонки.

Не забываем про пагинацию.


Примеры запросов (ваши запросы могут отличаться, главное, чтобы они выполняли поставленную задачу):

  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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment