Автоматическая документация доступна по адресу localhost:8000/docs. Там же доступны Эндпоинты для запуска/остановки захвата потока с вебкамеры на серверной части, камера работает в отдельном потоке, не блокируя работу сервера. Программа распознает прямое изображение лица с помощью интсрументов opencv. При нахождении человека в кадре более 5 секунд происходит сохранение фотографии на сервере, информация о снимке хранится в БД(SQLite). Также есть статическая страница(localhost:8000/), на которой отображаются все сделанные снимки и которая реагирует на SSE от сервера выводя пользователю в браузере уведомления о новых фотографиях.
Клонируем репозиторий:
~ git clone https://github.com/NailKalimov/ITLabsTestCase.git
Далее устанавливаем и активируем виртуальное окружение из папки с проектом
~ python -m venv venv
~ . venv/Scripts/activate
Устанавливаем требуемые зависимости:
~ pip install -r requirements.txt
Запускаем сервер
~ uvicorn main:app