Обновление портфолио: 19.12.2022
Последнее посещение сайта: 19.12.2022
Кол-во просмотров аккаунта пользователя: 40
Дата регистрации: 19.12.2022


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

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

Описание:
Mediclub – это приложение для улучшения ментального здоровья через ежедневные медитации и мотивационные аффирмации. Интуитивно понятный интерфейс с информацией, разделенной на тематические блоки. Аффирмации возможно добавить в календарь и получать вдохновляющие уведомления в нужное время. Медитации также возможно добавлять в Избранное, благодаря чему их поиск станет еще проще.

Постановка задачи

Мы знаем на собственном опыте, как сложно восстановить свое моральное состояние после сложных трудовых будней. Когда работаешь по 16 часов в сутки, медитации здорово выручают. Именно по этой причине наша команда задалась целью создать удобное и простое приложение для медитаций. Такое, которым бы пользовались сами: с разноплановыми медитациями, большим набором аффирмаций и простым интерфейсом.

Результат

Регистрацию/авторизацию в приложении мы реализовали через номер телефона. Предусмотрели также возможность восстановления аккаунта:

На Главной мы разделили информацию на блоки с полезными статьями, популярными медитациями, аффирмацией дня, а также каруселью тематик медитаций.

В раздел аффирмаций и медитаций пользователь может перейти из Главной, или же выбрав соответствующую вкладку меню.

В списке доступных медитаций пользователь может выбрать понравившуюся, добавить ее в Избранное. При старте прослушивания в трее появится иконка Mediclub, а также плеер с возможностью нажать паузу или перейти в предыдущей/следующей медитации. Сделали удобным прослушивание – без прекращения воспроизведения при выходе с экрана медитации.

Платные медитации возможно оплатить в несколько кликов, с помощью Yookassa.

Раздел Избранное помогает пользователю быстро найти нужную медитацию или аффирмацию, сохраненные ранее

Календарь показывает пользователю график push-уведомлений с аффирмациями.

При этом мы предусмотрели возможность настраивать график уведомлений – от единоразовых до ежедневных в течение заданного периода. А также право в любой момент изменить график или удалить аффирмацию из календаря вовсе.

Профиль пользователя мы не стали перегружать лишней информацией. Только основные данные, как имя, пол и возраст. Плюс возможность установить аватар – фото из галереи устройства.



Техническая составляющая

Работая над современным кроссплатформенным приложением, мы, конечно же, выбрали мобильный фреймворк Flutter.

Из ценных библиотек, использованных при разработке, важно отметить следующие:

graphql_flutter – библиотека для работы со стандартом graphql. Основа Mediclub, удобное и гибкое решение, выполняющее роль API для работы с данными. Выбрали, т.к. GraphQL отлично подходит для приложений с большим объемом данных, хранящихся в разных базах. А также из-за простого масштабирования – возможно добавлять новые типы и поля, не затрагивая существующие запросы, не создавая несколько версий одного и того же API;

get_it – сервис локатор, который позволяет получить доступ к любому зарегистрированному в нем объекту из любого места. Мы использовали по причине необходимости вызова метода блока (BLoC) в месте, куда не может быть передан контекст;

dio, как надежный http- клиент, поддерживающий Restful API, FormData, перехватчик, отмену запросов, управление файлами cookie, загрузку/скачивание файлов, тайм-аут и т. д.;

just_audio – позволяет воспроизводить аудио в формате стриминга (потоковое аудио);

video_player для воспроизведения видео с какого-нибудь облачного хранилища или с устройства локально;

youtube_player_flutter для воспроизведения видео из YouTube;

Мы целенаправленно выбрали разные библиотеки, ввиду безопасности работы нескольких одновременно, без каких-либо конфликтов;

rxdart, которая должна привносить реактивность в Dart. Несет в себе дополнительную обертку над обычными потоками данных привнося BehaviourSubject. Основной плюс является в том, что он сохраняет последнее свое значение, в отличие от обычного потока, где не отловленное значение теряется;

flutter_bloc – пакет от felix angelov, который позволяет легко и быстро реализовать BLoC-pattern в проекте (BLoC – Business Logic Component). Содержит в себе урезанную часть блока под названием Cubit. Последний, в отличие от блока, принимает на вход не Stream (поток данных), а функцию;

firebase messaging – конечно же, мы не могли обойти стороной крупнейшую платформу для разработки мобильных приложений от Google, с самыми современными функциями. В данном проекте мы использовали уведомления и вход через Google из библиотек Firebase.



В качестве СУБД выступает PostgreSQL – давно зарекомендовавшее себя решение, подходящее для систем любой сложности. Имеет место быть сервис на языке программирования Python, выполняющий функции доставки пуш-уведомлений, системы оплат, подписок, промокодов.

Сервис написан на быстром асинхронном фреймворке FastAPI.

Интеграция оплат с Yookassa API – прозрачный инструмент, отлично выполняющий свои задачи.

Авторизацией/регистрацией занимается микросервис на Ruby.
Просмотров: 13
Рубрика: Разработка мобильных приложений
Дата добавления: 19.12.2022 в 15:21
Оценки: отлично 0, хорошо 0, нормально 0, плохо 0, очень плохо 0



Другие работы: