Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ ILPS Public

💬 Интерактивный тренажер произношения исностранного языка

License

Notifications You must be signed in to change notification settings

FEFU-ILPS/ILPS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎤 ILPS (Interactive Language Pronunciation Simulator)

🚀 Центральный репозиторий Backend-части проекта

Это главная точка входа для развертывания инфраструктуры интерактивного тренажера произношения иностранных языков ILPS. Здесь собраны все ключевые компоненты для запуска платформы.

🌟 Особенности системы

  • Поддержка иностранных языков для тренировки произношения
  • Интеллектуальная система оценки акцента
  • Гибкая система сложности упражнений
  • Мультиплатформенные клиенты

🛠 Технологический стек

  • Языки программирования: Python
  • Фреймворки: FastAPI
  • ORM: SQLAlchemy (asyncpg)
  • СУБД: PostgreSQL
  • Инфраструктура: Docker, Docker-compose
  • Аутентификация: JWT
  • Протоколы: HTTP, SEE
  • Алгоритмы: Смещение Нидлмана-Вунша

🧩 Клиентские приложения

📱 Мобильный клиент Android

Репозиторий: ILPS-Mobile

🌐 Веб-клиент (в разработке)

Репозиторий: ILPS-Web
⚠️ На данный момент недоступен

🚀 Развертывание системы

📋 Предварительные требования

  • Установленные технологии:
    • Docker
    • Docker Compose
  • Технические требования:
    • 4 ГБ свободной RAM
    • 10 ГБ свободного места NVME

⚡️ Локальный запуск

  1. Клонируйте репозиторий:

    git clone --recurse-submodules https://github.com/FEFU-ILPS/ILPS && cd ILPS

    В дальнейшем для обновления используйте:

    git pull --recurse-submodules
  2. Настройте окружение:

    cp .env.example .env && cp init.sql.example init.sql

    После чего сконфигурируйте эти файлы согласно этой инструкции.

  3. Запустите сервисы:

    docker-compose -f "dev.docker-compose.yml" up -d --build
  4. Проверьте статус контейнеров:

    docker-compose ps

⚙️ Конфигурация

Для успешного запуска ILPS необходимо правильно сконфигрурировать .env и init.sql файлы. В нем должны содержаться настройки для всех сервисов и элементов инфраструктуры ILPS. В .env.example и init.sql.example приведены настройки, которые уже подходят для запуска ILPS. Поэтому простого копирования .env.example в .env, как и init.sql.example в init.sql будет достаточно для локального запуска в целях тестирования или разработки.

Important

Инфраструктура действительно запустится, однако ссылки на модели в .env.example не валидны. Сервис с транскрибирования будет работать, но просто не загрузит модели с не валидными ссылками. Это означает, что вы не сможете выполнить задачу по обработке ни на одном языке. К сожалению, ссылки на модели являются секретом и заменить их "заглушкой" нельзя.

📜 Настройка переменных окружения

Для развертывания ILPS в production-среде необходимо сконфигурировать настройки для каждого сервиса согласно их таблицам переменных окружения.

По большей части, настройки требуеют только те поля, которые задают секреты, пароли, ключи доступа и т.д. Поля, передающие адреса и порты сервисов, уже преднастроены согласно базовому docker-compose.yml файлу.

В случае необходимости более тонко настроить какой-то сервис - можно вписать в каждый из разделов настроек для определенного сервиса значения переменных среды, которые не являются обязательными. К этой группе могут относиться поля, отвечающие за настройку алгоритмов шифрования, имен баз данных и т.п.

Таблицы переменных окружения для каждого сервиса инфраструктуры ILPS можно найти тут:

  • Backend API-Gateway: ссылка
  • Сервис аутентификации: ссылка
  • Сервис управления текстами: ссылка
  • Сервис управления задачами обработки аудио: ссылка
  • Сервис предобработки аудио: ссылка
  • Сервис транскрибирования аудио: ссылка
  • Сервис формирования отчёта по произношению: ссылка
  • Сервис управления упражнениями: ссылка

Помните, что все переменные окружения имеют стандартные значения. Вы можете их поменять в зависимости от того, как вы настроете инфраструктуру.

🗃 Конфигурация СУБД

Для развертывания СУБД PGSQL, которую использует ILPS для своей работы, необходим файл init.sql.

В этом скрипте вы можете сменить имя пользователя или пароль в строках, соответствующих шаблону:

CREATE USER username WITH PASSWORD 'password';

Сменить стандартные названия баз данных:

CREATE DATABASE dbname;

Выдать права пользователю над базой данных:

ALTER DATABASE dbname OWNER TO username;

Помимо всего прочего, для PGSQL и для ее админ-панели в лице PG-Admin необходимо задать некоторые переменные окружения.

Переменная Значимость Описание Тип данных Стандартное значение
POSTGRES_PASSWORD Обязательно Пароль от пользователя postgres в СУБД. STRING
PGADMIN_DEFAULT_EMAIL Обязательно Электронная почта аккаунта владельца инфраструктуры. STRING
PGADMIN_DEFAULT_PASSWORD Обязательно Пароль аккаунта владельца инфраструктуры. STRING

Подробнее о переменных окружения и развертывании PGSQL и PG-Admin можно прочитать здесь.

Important

Сгенерируйте более безопасные пароли при помощи hex-генераторов и замените стандартные пароли в init.sql и .env на сгенерированные.

🤝 Как помочь проекту

Проект не поддерживает традиционную сторонню контрибуцию. Так как проект является дипломной работой (заказом) внутри ДВФУ, то и право на модификацию, поддержку и изменение будет предоставлено студентам ДВФУ, решившим базировать свою дипломную работу по какой-либо теме на этом проекте.

Если вы студен ДВФУ и вы желаете написать свою дипломную работу на базе данного проекта, то обратитесь к @Oidaho.


📜 Лицензия

Этот проект распространяется под лицензией GNU General Public License v3.0 (GPL-3.0).

About

💬 Интерактивный тренажер произношения исностранного языка

Topics

Resources

License

Stars

Watchers

Forks