Главное о кейсе
Адвокатам, юристам и ряду других профессионалов по законодательству необходимо в обязательном порядке ежегодно повышать свою квалификацию. В качестве подтверждения прохождения квалификации предоставляются сертификаты о прослушивании Х часов учебных материалов по определенным темам.
Заказчик решил сделать удобный способ получения этой квалификации. — юридическая компания. Ее специалисты заметили ряд неудобств в образовательных платформах и решили создать свою, чтобы юристы могли комфортно обучаться.
В итоге мы создали удобный каталог с аудио- и видео-лекциями в формате Single Page Application с возможностью покупки подписки или отдельно курсов, оффлайн-доступа и генерацией сертификатов на основе подсчета часов прослушанных лекций. Приложение доступно не только для профильных специалистов. Скачать и войти в систему может любой желающий, у кого есть запрос на юридическую информацию, что расширило аудиторию сервиса.
Контент регулярно пополняется верифицированными и актуальными лекциями на различные темы, связанные с юриспруденцией. Экспертами выступают юристы на стороне заказчика — они отбирают поступающий контент, ведут переговоры с авторами и публикуют материалы.
Для разработки наша команда использовала популярные технологии, которые будут легко интегрироваться и доступны для работы многим специалистам разработки.
Backend. PHP так как он является удобным и проверенным временем выбором для backend в связке с React Native благодаря своей простоте, широким возможностям интеграции, низкому порогу входа и обширной экосистеме. Он позволяет быстро создавать REST API для мобильных приложений и эффективно работать с базами данных и другими сервисами.
Frontend. Мы выбирали между Flutter и React Native, и RN выиграл за счет:
- наличия экосистемы Expo, которая позволяет сильно проще разрабатывать/тестировать/делать билды приложения;
- JavaScript и React, в совокупности с экосистемой - позволил нашим разработчикам быстрее адаптироваться к новой технологии.
Этапы разработки. Традиционно в компании мы придерживаемся гибкой методологии разработки Agile. В данном проекте работа велась по Kanban, согласно этапам разработки:
1. Сбор и анализ требований и планирование.
2. Разработка пользовательского интерфейса (UI/UX).
3. Непосредственно разработка.
4. Контент-наполнение.
5. Тестирование и доработка.
6. Запуск приложения.
В первую очередь мы провели анализ целевой аудитории и определили функциональные требования приложения: каталог обучающих аудиоматериалов, возможность покупки, скачивания контента для офлайн-доступа, отслеживание прогресса пользователя.
После чего приступили к декомпозиции работ и начали подготовку спецификаций для команды разработчиков с учетом всех ключевых функций и желаемых результатов, таких как генерация сертификатов по итогам прослушивания определенного количества часов.
Создание интуитивно понятного интерфейса, который позволит легко искать, приобретать и прослушивать учебные материалы. Также внимание нужно было уделить удобству навигации по каталогу, и профилю пользователя с сертификатами.
Разработка удобного медиаплеера с возможностью остановки и возобновления воспроизведения в любой момент времени.
Процесс разработки включал в себя такие основные блоки, как:
1. Создание базы данных для хранения информации о пользователях, купленном контенте и прогрессе обучения.
2. Разработка API для интеграции frontend-приложения с сервером, где будут храниться медиаматериалы и данные о пользователях.
3. Интеграция с платежной системой, SMS сервисом и настройки облачной кассы.
4. Разработка функционала для покупки доступа к контенту, а также возможности для скачивания материалов для прослушивания обеспечение возможности скачивания материалов для офлайн-режима, с отслеживанием времени прослушивания, чтобы гарантировать соблюдение требований для получения сертификата.
5. Разработка системы для генерации сертификатов о прохождении обучения, исходя из времени прослушивания лекций.
6. Отслеживание прогресса пользователей в реальном времени, чтобы каждый мог видеть свои достижения.
Интеграция аудиоматериалов, предоставляемых клиентом, в платформу с возможностью их воспроизведения и отслеживания времени прослушивания. Поддержка популярных форматов контента с возможностью добавления новых материалов на регулярной основе.
Проведено тестирование функциональности приложения: удобство использования, корректная работа медиаплеера, скачивание контента, генерация сертификатов и взаимодействие с API. Исправлены ошибки, выявленные в ходе тестирования, и доработаны интерфейсы на основе обратной связи от клиента.
В ходе выполнения проекта основной сложностью, с которой мы столкнулись, стала работа платежной системы, а именно интеграция с Альфа-банком. Потребовалось 1,5 месяца, чтобы уладить все нюансы и предотвратить риск блокировки приложения со стороны банка. Как только все трудности были улажены, приложение было опубликовано в App Store, Google Play и RuStore.
На текущий момент приложение успешно запущено и доступно для скачивания в сторах. Но на этом мы не останавливаемся, далее в планах доработка текущего функционала для большей прозрачности при работе и удобства как пользователей, так и администраторов приложения.
Как проект изменил жизнь пользователей
Адвокатам, юристам и ряду других профессионалов по законодательству необходимо в обязательном порядке ежегодно повышать свою квалификацию. В качестве подтверждения прохождения квалификации предоставляются сертификаты о прослушивании 30 часов учебных материалов по определенным темам.
Приложение представляет собой каталог аудио- и видео- контента, где можно приобрести доступ к материалам, скачать на устройство, прослушивать в любое удобное время и получить сертификат. Это позволяет упростить процесс получения необходимого подтверждения квалификации. Кроме этого WeBook — это удобный инструмент, заменяющий необходимость посещения очных лекций на мобильный онлайн-формат.
Бизнес-задача и ее решение
Задача заключалась в создании цифровой платформы для удобного доступа к обучающим материалам, которые необходимы юристам и адвокатам для повышения квалификации. Платформа должна решать несколько ключевых проблем:
1. Предоставлять доступ к контенту, в том числе в оффлайн режиме.
2. Обеспечивать возможность его прослушивания в удобное время.
3. Подтверждать обучение сертификатами.
Крафт (мастерство), реализация, технические детали
Флоу работы:
1. Пользователь регистрируется/аутентифицируется.
2. Получает доступ к каталогу, покупает и загружает материалы.
3. Воспроизводит контент через медиаплеер (в том числе в оффлайн-режиме).
4. Система отслеживает время прослушивания, чтобы в конце генерировать сертификат с количеством прослушанных часов.
5. Админ управляет контентом и пользователями через административную панель.
ОСНОВНОЙ ФУНКЦИОНАЛ ПРИЛОЖЕНИЯ
Регистрация/аутентификация:
1. Вход по номеру телефона.
Каталог контента:
1. Поиск по названиям лекций/курсов.
Покупка и загрузка:
1. Интеграция с платёжными системами для покупки контента.
2. Скачивание материалов, в том числе для оффлайн-прослушивания.
Медиаплеер:
1. Воспроизведение аудио и видео с возможностью ставить на паузу и перемоткой.
2. Отслеживание прогресса прослушивания.
Профиль пользователя:
1. Просмотр состояния подписки и её покупка/отключение.
2. Просмотр всей информации, указанной при регистрации, и ее редактирование.
3. Скачивание сертификата о прослушанных часах лекций.
АРХИТЕКТУРА ПРОЕКТА
1. Публичная часть (Frontend)
Мобильное приложение на основе React Native, доступное для iOS и Android.
Каталог учебных материалов (аудио/видео), возможность поиска, покупки, скачивания и прослушивания контента.
Плеер для воспроизведения аудиофайлов с функцией отслеживания прогресса прослушивания.
Система аутентификации пользователей по номеру телефона и учет времени прослушивания для генерации сертификатов.
2. Серверная часть (Backend)
API на PHP для взаимодействия с мобильным приложением.
База данных MySQL для хранения информации о пользователях, купленных материалах, времени прослушивания и прогрессе.
Хранение медиафайлов внутри приложение в зашифрованном виде.
Логика обработки сертификатов: отслеживание, сколько часов прослушано, и генерация PDF сертификата.
3. Админ-панель
Веб-интерфейс для управления контентом, добавления новых материалов, просмотра логов использования.
4. Интеграции
Платежная система Альфа банка для покупки контента.
SMS-сервис.
Инсайты, гипотезы, процесс создания и взаимодействия с заказчиком
В ходе выполнения проекта основной сложностью, с которой мы столкнулись, стала работа платежной системы, а именно интеграция с Альфа-банком. Потребовалось 1,5 месяца, чтобы уладить все нюансы и предотвратить риск блокировки приложения со стороны банка. Как только все трудности были улажены, приложение было опубликовано в App Store, Google Play и RuStore.
Скриншоты