Skip to content

Instantly share code, notes, and snippets.

@bluzir
Last active January 29, 2018 14:37
Show Gist options
  • Save bluzir/9b30990a7968e4803f7bea760484ff2c to your computer and use it in GitHub Desktop.
Save bluzir/9b30990a7968e4803f7bea760484ff2c to your computer and use it in GitHub Desktop.

API для книжного интернет-магазина

У нас есть сервис который позволяет клиенту приобрести несколько книг.

Каждая книга характеризуется кодом ISBN. Также книги различаются категориями: художественные, бизнес, научо-популярные. У каждой книги цена в рублях.

Книги могут фильтроваться по категориям и цене.

Покупатель характеризуется именем, email-адресом и телефоном.

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

Запросы клиента:

  1. Найти книгу:

    • Отфильтровываем бизнес-книги с ценой до 500 рублей.
    • Отфильтровать книги с любыми категориями и ценой от 1000 до 2000.

    В качестве ответа API отдает список возможных книг.

  2. Добавляем книги в заказ:

    • Метод API получает список из трех книг разных категорий, информацию о покупателе и сохраняет их в транзакцию.
    • Рассчитывается общая стоимость заказа и генерируется номер транзакциии в системе.

    В качестве ответа API отдает статус успешности создания транзакции и ее общую стоимость.

Реализация на flask. Интеграционные тесты. Код выложить на gihub или bitbucket при нежелании делиться им. Жалеательно выкладывать коммитами чтобы была возможность отследить логику разработки.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment