UI/UX дизайн
Веб приложения

Создание приложения по улучшению ментального здоровья

Создание приложения по улучшению ментального здоровья
Создание приложения по улучшению ментального здоровья

Рассказываем про наш опыт разработки, улучшения безопасности мобильного и веб-приложения звуковой терапии

Logo main
Icons
4 (1)
Group 16511 (1)

Суть проекта

 
У нашего клиента была идея — создать специализированное мобильное приложение для назначения звуковой терапии в формате аудиорецептов.
 
Нужно было разработать платформу, где практишнеры — последователи определенной духовной практики — назначают своим клиентам прослушивание конкретных звуков в определенное время. Клиенты получают уведомления о назначении и могут прослушать записи прямо из приложения. В системе, кроме этого, должны быть менеджеры и администраторы, которые будут управлять процессами внутри платформы.
 
Суть проекта — облегчить взаимодействие между практишнером и клиентом, сделать процесс звуковой терапии удобным, доступным и организованным. Заказчик хотел получить приложение, которое ориентировано на узкий круг специалистов и их клиентов, разделяющих альтернативные методы медицины, независимо от их местонахождения. Приложение должно было обладать гибкой архитектурой для потенциального масштабирования в дальнейшем: подключения трекинга состояния клиентов, персонализированных рекомендаций, интеграции с wearable-устройствами (умными часами, фитнес-браслетами).
 

Проблема клиента и предложенное нами решение

 
Целью данного проекта было разработать и запустить полнофункциональное, защищенное мобильное и веб-приложение Innovibe/Agada Sounds. Условие безопасного хранения и управления аудиофайлами было одно из критически важных для нашего клиента, т.к. записи несут основную ценность приложения и являются ключевым конкурентным преимуществом.
 
Необходимо было обеспечить безопасное хранение аудиофайлов, а именно настроить их передачу по сети в зашифрованном виде; предотвратить любые попытки скопировать, изменить или удалить данные третьими лицами. Важно было защитить файлы от «воровства» контента злоумышленниками, скачивания на компьютеры и телефоны пользователей.
 
В качестве решения данной проблемы наша команда разработала систему хранения и обработки аудиофайлов с использованием облачного хранилища AWS S3 Bucket и шифрования на уровне приложения:
 

  • Перед загрузкой в S3 каждый аудиофайл преобразовывался с помощью алгоритма шифрования в нечитаемый формат — случайную последовательность букв и цифр, что устранило вероятность прямого скачивания и использования записей.
  • Шифрование файлов происходило непосредственно в коде приложения перед отправкой в S3, т.е. исходный аудиофайл никогда не хранился в облаке в открытом виде. Расшифровка происходила только при прослушивании в приложении. Так мы исключили возможность получить доступ к незашифрованным аудиофайлам, даже если злоумышленник каким-то образом скачает зашифрованные данные из облака.
  • Поскольку дешифрование реализуется только внутри самого приложения, даже при скачивании файлов они будут бесполезны без специального ключа и логики приложения для их расшифровки. Обычные медиаплееры не смогут распознать и воспроизвести эти зашифрованные данные.
  • 6 (4)
    8

    Этапы работы и выполнение ключевых задач

     

    Разработка архитектуры системы


     
    На первом этапе мы определили структуру ролевой системы, а именно какие роли пользователей в приложении будут существовать и какими правами, обязанностями они будут обладать. Мы выделили администратора, у которого будет полный контроль над системой, чтобы он мог управлять пользователями и настройками; менеджера, который проконтролирует работу практишнеров и клиентов; практишнеров, что будут назначать клиентам персональные звуковые «рецепты», и клиентов, которые будут получать уведомления о назначениях и прослушивать записи.
     
    Далее мы приступили к проектированию логики взаимодействия между пользователями разных ролей — как практишнер будет назначать рецепт клиенту, а он получать уведомление, связываться напрямую с практишнером. Также спроектировали функциональность приложения, которая бы позволила практишнерам выбирать и назначать определенные аудиофайлы и их последовательности («рецепты») конкретным клиентам.
     

    Разработка функционала приложения

     
    После того, как были согласованы с клиентом прототипы и мы убедились, что все ключевые функции учтены, мы приступили к созданию системы управления файлами (CRUD).
     
    CRUD: C — create (создание), R — read (чтение), U — update (обновление), D — delete (удаление).
    CRUD обозначает основные операции с данными — загрузку, воспроизведение, редактирование и удаление
    .
     
    Реализовали систему уведомлений, чтобы при назначении практишнерами аудиопрограмм, клиенту приходили оповещения и напоминания в течение дня о необходимости пройти сеанс прослушивания в назначенное время. Нашей задачей здесь было также создать понятное взаимодействие с интерфейсом для пользователей всех ролей, обеспечить адаптивность — корректную работу и отображение приложения на экранах с разным разрешением.
     

    Тестирование и оптимизация

     
    Разработав основные функции и настроив шифрование файлов, облачное хранение, наш клиент смог протестировать MVP-версию приложения (Minimal Viable Product — минимально жизнеспособный продукт) и дать нам фидбек.
     
    После того, как мы приняли комментарии нашего заказчика, можно было перейти к тестированию продукта. Мы удостоверились в корректности работы механизма по назначению аудиопрограмм и их последующего прослушивания, проверили, что каждая роль пользователя имеет доступ только к разрешенным функциям и данным. Убедились, что шифрование и дешифрование работают правильно и не влияют на качество воспроизведения, что работают меры по эффективности защиты от скачивания. Осталось улучшить скорость работы приложения и исправить обнаруженные ошибки.
     

    Финальные доработки и запуск

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

    Подход к разработке и взаимодействие с клиентом

     
    На данном проекте мы использовали гибкий подход к управлению. Он сочетал в себе принципы Agile и методологию Kanban. Разработка велась итеративно, т.е. разбивалась на небольшие части, результаты которых регулярно предоставлялись клиенту. Благодаря гибкости и отсутствию жестких спринтов, наша команда могла быстро реагировать на новые потребности клиента, эффективно управлять рабочим процессом и постоянно предоставлять рабочие части продукта.
     
    В разработке мы также руководствовались практиками CI/CD (Continuous Integration/Continuous Delivery — непрерывная интеграция и непрерывная доставка/развертывание), т.е. автоматизация процессов сборки, тестирования и развертывания приложения. Наши разработчики регулярно в течение дня объединяли свои изменения кода в общий репозиторий. После каждого слияния кода запускалась сборка приложения и выполнялся набор автоматических тестов, что позволяло как можно раньше обнаружить ошибки интеграции и конфликты между кодом разных разработчиков. После успешного прохождения всех тестов код автоматически развертывался непосредственно в рабочее окружение.
     
    Такой подход позволил нам ускорить процесс разработки, оперативно выявлять ошибки, снизить риски при выпуске новых версий, т.к. небольшие и частые релизы менее рискованны, чем крупные и редкие. Также это способствовало налаживанию быстрой обратной связи и более тесному взаимодействию между командами разработки и эксплуатации.
     

    Формат взаимодействия с клиентом

     
    Главной целью было удовлетворение потребностей клиента и создание решения, которое наилучшим образом соответствовало бы его ожиданиям. Мы анализировали задачи и предлагали несколько возможных способов их решения, держали клиента в курсе происходящего на всех этапах работы. Заказчик, более погруженный в контекст, цели и потребности своего бизнеса выбирал подходящий вариант решения из предложенных.
     
    Т.к. процесс работы был итеративным, мы постоянно обменивались информацией с клиентом. Предоставляли отчеты о ходе проекта, показывали промежуточные результаты, чтобы получить от заказчика фидбек и постепенно вносить правки.
     
    Наше взаимодействие с клиентом не ограничивалось отдельными встречами. Он активно участвовал в процессе всего проекта как при обсуждении требований, так и при завершении работ. Благодаря открытому общению и тесному сотрудничеству получилось минимизировать риски недопонимания и успешно завершить проект.
     
    В итоге проект получился сбалансированным: команда реализовала техническую часть на основе своих знаний, а клиент контролировал процесс и принимал финальные решения.

    7 (1)

    Результаты проекта Innovibe / Agada Sounds

     
    Клиент получил полнофункциональное приложение, которое соответствовало заявленным требованиям. Проект в дальнейшем можно масштабировать и привлекать в него больше пользователей.
     
    Удобная, защищенная и автоматизированная платформа упростила взаимодействие между практишнерами и клиентами. Практишнеры теперь могут быстро выписывать рецепты, им нет необходимости вручную отслеживать, когда клиенту нужно прослушать определенные звуки — автоматические уведомления помогают клиентам придерживаться графика сеансов.
     
    У клиентов практишнеров теперь есть приложение с готовыми сеансами и расписанием. Никаких сложных действий, достаточно просто зайти в приложение и слушать нужные звуки.
     
    Администраторы приложения могут изменять роли пользователей, управлять файлами и системой в целом.
     
    Innovibe/Agada Sounds — приложение, которое делает звуковую терапию удобной и цифровизованной. Благодаря интуитивно понятному дизайну приложением легко начать пользоваться, что знакомит все более широкую аудиторию с данным методом лечения.
     
    У вас есть идея по созданию своего мобильного или веб-приложения? Оставьте заявку и мы свяжемся с вами!

    Следующая работа
    Разработка платформы для неинвазивной диагностики рака простаты
    Смотреть проект
    Создание приложения по улучшению ментального здоровья - Solaurum

    Развитие

    бежит

    неумолимо

    и мы

    поможем

    Вам

    идти в ногу

    с ним

    Давайте начнем ваш проект сегодня