57 lines
2.2 KiB
Markdown
57 lines
2.2 KiB
Markdown
|
# 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)
|
|||
|
|
|||
|
|
|||
|
## Задание
|
|||
|
|
|||
|
Создать 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`
|