Video Quiz App — додаток для навчання
Завдання
Розробити мобільний додаток для азіатського ринку, який дозволяє створювати та проходити відеовікторини на будь-яку тематику. Авторизація та реєстрація має відбуватись за допомогою WeeChat.
Рішення
Рішенням була реалізація основної бізнес-логіки на бекенд частині. Користувачі мали змогу бути одночасно авторами контенту та учасниками інших вікторин. Оскільки кожний з користувачів може одночасно виконувати 2 ролі, було вирішено не виокремлювати функціонал в різні додатки.
Бізнес-ідею виокремили в основний функціонал:
- Створення відеовікторин. Це дозволо будь-якому з користувачів наповнювати контентом середовище. Відповіді на вікторини заповнювались самими авторами;
- Пошук по вікторинах і по розділу трендів. Кожний з користувачів мав мати змогу створити власний тренд та викласти відео з вікториною до цього тренду, або ж долучитись до трендів інших користувачів.
- Система рейтингів для кожного з трендів і вікторин;
- Авторизація та реєстрація нових користувачів через соціальну мережу WeeChat;
- Робота з відео розглядалась лише у форматі роботи з файлами, без підтримки медіасерверів і медіатек для потокового відео;
- У зв’язку з обмеженим бюджетом на апробацією бізнес-ідеї був відсутній пре- та пост-процесинг відеоматеріалів.
Розробка
Процес розробки розпочався з дослідження ключових функційних вимог:
- Відтворення потокового відео без медіасервера
- Підключення WeeChat в якості соціальної мережі
Найскладнішою частиною в процесі розробки було підключення соціальної мережі, оскільки вона кардинально відрізнялась від загальноприйнятих технологій. Перешкодою ставали кілька факторів:
- Необхідний інвайт існуючого користувача
- Постійна активність користувача в системі. Користувачі, які не користувались соціальною мережею - блокувались
- Платний доступ до девелопер консолі для створення власних додатків
- Весь туторіал, статті з прикладами та спілкування з технічною підтримкою здійснювалось виключно на китайській мові.
У ході розробки за основу була взята Clean Architecture та MVVM архітектури. Уся бізнес-логіка виокремлена в domain модулі. У якості програвача відео матеріалів використовувався ExoPlayer. Саме реалізація його модулів дозволила відтворювати віддалено збережений файл у форматі потокового відео. Також додаткові налаштування та реалізація локального сховища дозволила створити функціонал буферизації та кешування.
Результат
Нам вдалося розробити комплексну систему, яка включає в себе бекенд частину з реалізацією основної бізнес-логіки та нативні клієнтські мобільні додатки під Android платформу.
Команда проєкту:
- Андрій
Android розробник