Цели проекта - интеграция между сервисом поиска фильмов и голосовым помощником. Функционал упростит и ускорит получение информации о фильме (актерах, режиссерах и тому подобному) в сравнении с вводом запроса через пульт ДУ/клавиатуру
Сценарий: по запросу пользователя голосовой ассистент обращается в сервис API, который взаимодействует с ES, получает ответ и зачитывает его.
Если вариантов несколько, то зачитывается первый вариант.
- поднять все одной командой
make all_up
- останавить все одной командой
make all_down
Запуск admin_panel
-
Запуск
make admin_panel_up
- Запускается контейнеры Docker в фоновом режиме
- выполнение миграций базы данных внутри контейнера
- собираются статические файлы
- создастся суперпользователь | логин:
admin
, пароль:admin
доступ по ссылке
-
Для первичного наполнения данными
make admin_panel_fill_db
- исполняется скрипт переноса данных из sqlite в psql
- тестируется полнота переноса
-
Тесты
- полнота переноса данных из sqlite в psql:
-
- полнота переноса данных из sqlite в psql:
-
Остановка
make admin_panel_down
Запуск async_api
-
Запуск
make async_api_up
- Запускается контейнеры Docker в фоновом режиме (elasticsearch, redis, fastapi, nginx)
доступ к апи по ссылке
- Запускается контейнеры Docker в фоновом режиме (elasticsearch, redis, fastapi, nginx)
-
Тесты
- Тесты для Postman
APItests.postman_collection.json
находятся в папке tests - Запуск и анализ тестов непосредственно в тестовом окружении (по умолчанию запускаются все тесты из папки
tests/funcrional/src)
команда запустит и выведет результат тестов
make async_api_test_up
- остановка
make async_api_test_down
- Тесты для Postman
-
остановка
make async_api_down
Запуск ETL
-
Запуск
make etl_up
- Создается индекс
movies
,person
,genre
(если нет) в Elasticsearch; - Запускается отслеживание изменений в таблицах
film_work
,person
,genre
.
- Создается индекс
-
остановка
make etl_down
-
тесты:
- Файл с тестами
ETLTests.json
для Postman находится в корне проекта.
- Файл с тестами
Запуск хендлера ассистентов
-
Запуск
make assistents_up
-
остановка
make assistents_down
-
тесты
make assistents_tests_run
ДЛЯ РАЗРАБОТКИ
Находясь в корне проекта - включи пре-коммит
$ pre-commit install
$ pre-commit autoupdate
Проверь работоспособность
$ pre-commit run --all-files