Разработал web-сервис для изучения иностранных слов
Предисловие
Всем привет. Последние лет 7 я с переменным успехом пытаюсь изучать английский язык и для заучивания новых слов использовал известный сервис Quizlet.
Сервис полностью меня устраивал, но в какой-то момент стал платным, а чуть позже из РФ и оплатить подписку тоже стало проблематично. Поэтому, изучив аналогичные сервисы (ни один из них меня не устроил), мы с другом решили разработать своего убийцу GTA Quizlet c аналогичным функционалом.
Прошерстив просторы GitHub, был обнаружен проект, который частично реализовал необходимый функционал на React в формате web-приложенияю.
Взяв за основу готовый скелет приложения, мы разработали все необходимые режимы и алгоритмы изучения новых слов (алгоритм выдачи слов в режиме изучения оказался не таким тривиальным, как я рассчитывал).
Стоит сразу отметить, что приложение хранит наборы изучаемых слов (модули) локально на вашем компьютере, поэтому будьте аккуратны при очистке данных сайта в своем браузере (очистка данных удалит модули и весь ваш прогресс изучения). Поэтому для переноса и сохранения данных делайте бэкапы.
И регистрации приложение не требует, но ориентированно для работы с ПК (с мобильного будет работать, но криво). Мобильная версия будет добавлена в будущем.
Вот ссылка для ЛЛ - https://ll-tool.web.app/
Функционал и инструкция по использованию сервиса
Теперь поговорим немного про функционал.
На данный момент в приложении есть два режима изучения слов:
Learn (изучение)
Listening (прослушивание и написание на слух)
В Learn вы сначала должны выбрать перевод (определение) слова (термина) в режиме теста дважды, а затем дважды напечатать это слово по его определению. Выглядит это так:
Если вы правильно ответили на тесты и правильно напечатали слово по определению, то слово будет считаться изученным и будет убрано из текущей обучающей сессии. Но, если вы ошибетесь при ручном вводе, вам придется повторно его ввести два раза (это нужно для лучшего закрепления).
В правой части экрана приложения присутствует индикатор прогресс и поле ввода для настройки размера рабочей пачки терминов. Рабочая пачка - это набор слов, которые случайно были набраны в данных момент для запоминания из множества терминов модуля. Рабочая пачка пополняется в процессе запоминания слов в текущей сессии. Чем больше размер пачки, тем сложнее будет запоминать слова (одно и то же слово будет податься реже). Настраивайте размер пачки под себя.
Теперь про режим прослушивания. Ту еще проще:
Нажав на картинку с символом ноты, вы услышите слово, которое нужно ввести в поле вода. Если вы ввели правильно, то увидите советующее сообщение, а если неправильно, то будут указаны ваши ошибки в написании слова. Слово считайте изученным, если вы верно ввели его дважды. Если вы случайно опечатались, то можно нажать кнопку, что термин был введен верно, чтоб больше не возвращаться к этому слову.
Рабочая пачка здесь работает аналогично режиму изучения.
Импорт и экспорт модулей
Чтоб изучать новые слова, их нужно как-то добавить в приложение. Поэтому был реализован функционал импорта и экспорта модулей.
Так как изначально приложение вдохновлялось квизлетом, был реализован функционал импорта модулей из quizlet. Делается он так:
В настройках модуля выбираем Экспорт, а затем нажимаем Копировать текст. Потом переходим на главную страницу нашего приложения и выбираем режим импорта модуля как таблицы:
В этом режиме можно редактировать модули еще до их импорта (но есть и отдельный режим редактора, о нем поговорим дальше). После вставки терминов и названия модуля, можно нажать кнопку Create. В результате добавленный модуль появится на главной странице.
Далее есть возможность импорта модулей в JSON формате. Но чтоб импортировать модули, их нужно экспортировать. Режим Export all modules сохраняет сразу все модули в один файл, который потом можно импортировать. Это полезно, если вам нужно сделать бэкап, перенести модули на другой ПК или поделиться модулями с другом.
В JSON формат можно экспортировать и одиночный модуль. Для этого нужно перейти внутрь модуля и нажать соответствующий пункт меню:
В этом же меню есть пункт редактирования модуля. Тут все очевидно:
Кроме редактирования модуля, если возможность сбросить и установить прогресс изучения. А так же есть кнопка удаления модуля.
И конечно же есть режим ручного создания модуля. Он доступен из главного меню (Create module):
Вот и весь функционал. Все довольно просто.
Планы по развитию приложения
Планов довольно много. Хотелось бы добавить возможность выбора языка модуля, так как сейчас приложение будет корректно работать только с английским языком в режиме прослушивания.
Еще есть идеи по дополнительным режимам изучения слов и доработкам существующих режимов. Также есть планы по адаптации приложения под мобильные телефоны.
Если будет запрос, можно будет добавить создание профилей с возможностью хранения модулей в БД приложения.
Но самое главное на данном этапе это получение обратной связи от вас и поиск ошибок. Приложение будет развиваться, так как я и сам им пользуюсь.
Если у вас какие-то идеи по развитию проекта или вы нашли баги, то обязательно пишите об этом в комментариях здесь или в ТГ.
Буду очень благодарен за ваши отзывы, по возможности попробуйте им попользоваться. Это очень важно. Для использования достаточно перейти по ссылке - https://ll-tool.web.app/
Регистрация и какие-то ваши данные не требуется. Приложение работает сразу после открытия страницы.
Надеюсь, что представленный проект будет вам полезен.
Спасибо за внимание.










