2022-11-07 16:07:30
ReapLanguage
Летом выучил Swift и IOS разработку, после чего начал реализацию нового проекта, чтобы отработать полученные знания и попробовать себя в новом проекте. Приложение представляет из себя набор коллекций иностранных слов собранных по темам. Пользователь может создавать свои собственные коллекции или учить слова встроенных коллекций с помощью специальной системы повторений. Приложение названо ReapLanguage от английских слов repeat (повторять) и language (язык).
Функциональность:• Собраны коллекции иностранных слов по разнообразным темам.
• Разработана методика изучения иностранных слов:
1. Пользователь выбирает и составляет коллекции слов, которые он хочет выучить.
2. Пользователь учит нужную коллекцию с помощью следующий упражнений:
a. Изучение слов с помощью карточек: слово на иностранном языке - перевод.
b. Соединение карточек: слово на иностранном языке - перевод.
c. Выбор правильного перевода.
d. Написание слова на иностранном языке.
3. Если в слове не было допущено ошибок его шкала освоенности увеличивается на одну еденицу прогресса. Также, если ни в одном упражнение не было допущено ошибок, то устанавливается таймер на 24 ч. За этот период в данном слове нельзя увеличить прогресс и проходить его изучение (можно только повторять).
• При добавлении в коллекцию нового слова можно сгенерировать его рандомно.
• Отображается аналитика по активности изучения слов.
• Уже выученные слова можно повторить или пройти конкретный тип упражнений. При этом, если при повторении уже выученного слова допущена ошибка, то слово снова становиться невыученным и у него уменьшается прогресс.
• В настройках можно выбрать количество требуемых повторений слова, интервал повторения, желательное количество слов в день. Базовые настройки (5 правильных повторений через каждые 24 ч и изучение 5 слов в день). Можно настроить количество слов в одной тренировке (например, если пользователь создал коллекцию из 100 слов он не захочет учить сразу все 100 слов, а будет учить их по частям, например, по группам в 5-10 слов за раз).
• Во время тренировки голосовой помощник произносит иностранное слово, если был дан верный ответ. Таким образом пользователь запоминает слова одновременно и на слух.
• Можно оформить подписку для получения полного пакета возможностей. *У этой функции есть только прототип и она не была реализована. Не была продумана правильная стоимость подписки.
Какие ошибки были совершены:• Проект выполнялся в одиночку. Для того, чтобы увеличить шансы на успех проекта нужна хорошая команда.
• Начинал разрабатывать приложение сразу же, без предварительной подготовки по дизайну и структуре системы. Перед разработкой проекта нужно разрабатывать дизайн-прототип в Figma и описывать структуру системы в виде UML схемы. Может показаться, что это бесполезное занятие, которое только отнимает время, но на самом деле оно наоборот сокращает время и помогает не задумываться о разноплановых вещах во время разработки.
• В связи с тем, что не был продуман прототип и чёткая структура проекта появились проблемы с тем, какая задача должна быть выполнена следующей и возникла путаница в структуре системы.
• Решил сразу создать супер многофункциональное приложение, что повлекло за собой, опять же, путаницу. Появились баги в отображении аналитики и беспорядок в общей логике кода. Для начала нужно реализовывать минимальные функции и запускать проект в демо-версии собирая обратную связь и продолжая потихоньку добавлять новые функции.
132 viewsedited 13:07