Skip to content

Интеграция между сервисом поиска фильмов и голосовыми помощниками

Notifications You must be signed in to change notification settings

MATwave/graduate_work

Repository files navigation

Проектная работа: Голосовой Ассистент

Deploy

Ссылка на проект

Цели проекта - интеграция между сервисом поиска фильмов и голосовым помощником. Функционал упростит и ускорит получение информации о фильме (актерах, режиссерах и тому подобному) в сравнении с вводом запроса через пульт ДУ/клавиатуру


Схема проекта

Сценарий: по запросу пользователя голосовой ассистент обращается в сервис 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:
      make admin_panel_test_fill
      
      
  • Остановка

      make admin_panel_down
Запуск async_api
  • Запуск

    make async_api_up
    • Запускается контейнеры Docker в фоновом режиме (elasticsearch, redis, fastapi, nginx)

      доступ к апи по ссылке

  • Тесты

    • Тесты для Postman APItests.postman_collection.json находятся в папке tests
    • Запуск и анализ тестов непосредственно в тестовом окружении (по умолчанию запускаются все тесты из папки tests/funcrional/src)
      make async_api_test_up
      
      команда запустит и выведет результат тестов
    • остановка
      make async_api_test_down
      
  • остановка

    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

Над проектом работали:

About

Интеграция между сервисом поиска фильмов и голосовыми помощниками

Topics

Resources

Stars

Watchers

Forks