CRUD api с использованием кеширования для ускорения запросов
Техническое задание:
Реализовать простой CRUD api с использованием кеширования для ускорения запросов. Использовать фреймворк Flask.
Представьте, что вы метеорологическая служба, которая предоставляет данные о погоде российским авиакомпаниям. Данные вы получаете от сторонних источников (Яндекс.Погода). Вы должны предоставить клиентам API, с помощью которого они будут получать от вас информацию о погоде. Допустим с вами работают только три компании: RedAir, BlueAir и GreenAir. Добавление и удаление рейсов: Компании передают Вам информацию о рейсах, которые они будут совершать в ближайшее время.
* Добавление рейса
PUSH (get запрос): .../push/name/number/cityA/timeA/cityB/timeB
-name - название авиакомпании
-number - номер рейса
-cityA - названия города отправления на английском
-timeA - время отправления в формате yyyy_mm_dd_hh_mm
-cityB - названия города прибытия на английском
-timeA - время прибытия в формате yyyy_mm_dd_hh_mm
* Отмена рейса:
POP (get запрос): .../pop/name/number -name - название авиакомпании -number - номер рейса
* Запрос погоды для рейса:
Компании запрашивает погоду в городах вылета и прилета. Верните json с информацией о погоде (формат на ваше усмотрение).
(get запрос): .../weather// -name - название авиакомпании -number - номер рейса
Информация о погоде должна быть именно во время вылета и прилета по расписанию, а не на текущий момент. Учтите, что погода обычно не меняется каждую секунду, запросы на сторонние сервисы платные, нужно кешировать.
* List (get запрос): .../list/name
name - название авиакомпании Функция должна вернуть список рейсов авиакомпании которые еще не совершились.
* Archive (get запрос): .../archive/name
Функция должна вернуть список всех совершенных рейсов за последний год
Имплементация
основные модули
app2.py - Данный модуль запускает приложение. Каждый запрос обрабатывается соответствующим декоратором и вызывает функцию. crud_utilities.py - В данном файле записаны все необходимые функции для приложения. Подробное описание содержится в файле.
протестировать приложение можно на сайте http://crudapiflask.site