Skip to content

Instantly share code, notes, and snippets.

@artrey
Last active May 10, 2024 14:59
Show Gist options
  • Save artrey/0b6b3a99513fc4ce0f89fb8c155354f2 to your computer and use it in GitHub Desktop.
Save artrey/0b6b3a99513fc4ce0f89fb8c155354f2 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