2024-04-13 04:41:30 +03:00
|
|
|
|
# Flask demo api
|
|
|
|
|
Demo api with Flask as backend and Redis as NoSql DB
|
|
|
|
|
|
|
|
|
|
[![Static Badge](https://img.shields.io/badge/pi3c_nao-green?style=for-the-badge&logo=telegram&label=Telegram)](https://t.me/pi3c_nao)
|
|
|
|
|
|
|
|
|
|
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
|
2024-04-16 04:53:06 +03:00
|
|
|
|
|
2024-04-16 04:48:10 +03:00
|
|
|
|
|
2024-04-13 04:41:30 +03:00
|
|
|
|
## Задание
|
2024-04-16 04:48:10 +03:00
|
|
|
|
|
|
|
|
|
Создать docker-compose.yml разворачивающий приложение на python с простой реализацией REST API. Решение должно состоять из двух контейнеров:
|
|
|
|
|
а) Любая NoSQL DB.
|
|
|
|
|
|
|
|
|
|
б) Приложение на python, с использованием Flask, которое слушает на порту 8080 и принимает только методы GET, POST, PUT.
|
|
|
|
|
|
|
|
|
|
в) Создаем значение ключ=значение, изменяем ключ=новое_значение, читаем значение ключа.
|
|
|
|
|
|
|
|
|
|
г) Вновь созданные объекты должны создаваться, изменяться и читаться из NoSQL DB.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Описание API
|
|
|
|
|
- GET:
|
|
|
|
|
требует наличие аргумента key: http://localhost:8080/?key=blablabla
|
|
|
|
|
|
|
|
|
|
- POST, PUT & DELETE:
|
|
|
|
|
принимают данные запроса в json формате
|
|
|
|
|
{
|
|
|
|
|
"key": "your_key",
|
|
|
|
|
"val": "your_val"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Установка
|
|
|
|
|
|
|
|
|
|
- Клонируем репозиторий
|
|
|
|
|
`git clone https://git.pi3c.ru/pi3c/flask-demo-api.git`
|
|
|
|
|
|
|
|
|
|
- Запуск апи
|
|
|
|
|
первый запуск после установки или обновления
|
|
|
|
|
`docker-compose -f compose-app.yml up --build`
|
|
|
|
|
|
|
|
|
|
последующие запуски
|
|
|
|
|
`docker-compose -f compose-app.yml up`
|
|
|
|
|
|
|
|
|
|
- Запуск тестов
|
|
|
|
|
первый запуск после установки или обновления
|
|
|
|
|
`docker-compose -f compose-tests.yml up --build`
|
|
|
|
|
|
|
|
|
|
последующие запуски
|
|
|
|
|
`docker-compose -f compose-tests.yml up`
|
|
|
|
|
|
|
|
|
|
- Для остановки запущенных контейнеров
|
|
|
|
|
`<CTRL>-c`
|
|
|
|
|
`docker-compose -f compose-app.yml down`
|
|
|
|
|
or
|
|
|
|
|
`docker-compose -f compose-tests.yml down`
|