Описание
Реализована система выдачи талончиков Сбербанка через FastApi.
Технологии
- Python 3.9.6
- fastapi
- uvicorn
С полным списком технологий можно ознакомиться в файле requirements.txt
Документация
С документацией проекта можно ознакомиться по ссылке после запуска проекта.
Запуск проекта
Клонировать репозиторий и перейти в него в командной строке:
git clone https://github.com/GhoulNEC/FastAPI.git
cd FastAPI
Создать и активировать виртуальное окружение:
python3 -m venv venv
source venv/bin/activate
python3 -m pip install --upgrade pip
Установить зависимости из файла requirements.txt:
pip install -r requirements.txt
Запустить fast_api.py
python3 fast_api.py
Пример получения API
GET / - Приветственный экран.
GET /services/ - Получение списка услуг.
GET /services/{service_id}/ - Получение информации о сервисе по id
GET /desk_info/ - Получение информации о кассах: какой талон сейчас обслуживается и какие талоны в очереди на эту кассу.
POST /services/{service_id}/confirm/ - Получение талончика в очередь с распределением по кассам в зависимости от их загруженности и возможности предоставления услуги.
POST /{desk_id}/done/ - Опция для кассира. Услуга оказана, переход к следующему талону.
POST /{desk_id}/close/ - Закрытие кассы с распределением талонов в очереди между свободными кассами работающими с такими же услугами.
POST /{desk_id}/open/ - Открыть кассу.
POST /new_service/ - Добавление нового сервиса.
Нужно указать название нового сервиса и номера касс, которые будет обслуживать новый сервис.
{
"service": {
"name": "string"
},
"desk_keys": [
0
]
}POST /new_desk/ - Добавление новой кассы. Нужно заполнить id сервисов, которые касса будет обслуживать.
{
"services": [
1
],
"queue": [],
"is_open": true
}