Техническое задание (ТЗ) на разработку MVP приложения для заучивания текстов "TextLearner"
Общие сведения
Наименование проекта: TextLearner (MVP)
Цель: Создать кроссплатформенное приложение (iOS/Android) для эффективного заучивания текстов, стихов, прозы с помощью интерактивного контроля речи.
Целевая платформа: iOS и Android.
Технологический стек:
Фреймворк: Flutter
Язык программирования: Dart
Управление состоянием: flutter_bloc или riverpod на усмотрение исполнителя
Работа с данными: hive для локального хранения
Распознавание речи: speech_to_text
Синтез речи: flutter_tts
Прочие библиотеки: equatable, uuid
Основной функционал (MVP)
Экран "Подготовка"
Отображается при первом запуске приложения
Содержит текст-образец для калибровки распознавания речи
Кнопка "Начать" для запуска процесса калибровки
Пользователь читает текст вслух, программа оценивает качество распознавания
При среднем score ниже 0.6 показывается сообщение: "Попробуйте поднести телефон ближе, говорите более медленно и разборчиво"
Возможность повторной попытки калибровки
После успешной калибровки (score >= 0.6) открывается доступ к основному экрану
Экран "Новое заучивание"
Элементы интерфейса:
Многострочное поле ввода текста
Кнопка "Вставить" для вставки текста из буфера обмена
Кнопка "Учить" для начала процесса заучивания
Область отображения текста с сохранением оригинального форматирования (пробелы, переносы строк, знаки препинания)
Процесс заучивания
Запуск процесса:
Запрос разрешения на использование микрофона
Запуск службы распознавания речи
Внутренняя разбивка текста на слова с исключением пунктуации для программы учета
Переход интерфейса в режим прослушивания
Логика проверки речи:
Приложение ожидает произнесения слов строго по порядку
Использование score из библиотеки speech_to_text для оценки уверенности распознавания
При правильном слове подсветка зеленым цветом, переход к следующему слову
При ошибке подсветка красным цветом, повторное ожидание того же слова
Таймаут и подсказка:
Таймер ожидания: 10 секунд (настраиваемая константа в коде)
Автоматическое озвучивание следующего слова через TTS при таймауте
Завершение процесса, когда все слова подсвечены зеленым
Дополнительные элементы управления
Кнопка "Воспроизвести весь текст" для озвучивания всего текста
Кнопка "Стоп/Пауза" для принудительной остановки процесса
Экран результатов
Показ после завершения заучивания:
Общее количество слов в тексте
Количество верно названных слов
Процент правильности
Требования к конфигурации
Настройка голоса TTS (пол/голос) если поддерживается платформой
Возможность настройки времени таймаута через константу в коде
Порог score для калибровки: 0.6 (настраиваемая константа)
Нефункциональные требования
Производительный и отзывчивый интерфейс
Обработка ошибок (микрофон, TTS, интернет) с уведомлением пользователя
Адаптивность под разные размеры экранов
Откликающихся прошу в отклике написать "TextLearner"
Жду предложений по срокам и стоимости реализации описанного функционала
Уточнения по ТЗ
Дизайн: разработчик предоставляет минималистичный UI
Обработка текста: полное исключение пунктуации перед разбивкой на слова для внутренней логики, при этом отображение текста сохраняет оригинальное форматирование
Языковая поддержка: только русский язык
Публикация: публикация в сторах не планируется
Опубликован 03.10.2025 в 05:44 Последнее изменение: 02.10.2025 в 23:29
Заказ находится в архиве