Video Quiz App — додаток для навчання
![](https://storage.stfalcon.com/uploads/images/ba54070493b93db9a14b549aebdfbfb6.webp)
Завдання
Розробити мобільний додаток для азіатського ринку, який дозволяє створювати та проходити відеовікторини на будь-яку тематику. Авторизація та реєстрація має відбуватись за допомогою WeeChat.
Рішення
Рішенням була реалізація основної бізнес-логіки на бекенд частині. Користувачі мали змогу бути одночасно авторами контенту та учасниками інших вікторин. Оскільки кожний з користувачів може одночасно виконувати 2 ролі, було вирішено не виокремлювати функціонал в різні додатки.
![](https://storage.stfalcon.com/uploads/images/cb7ed5537daedef90b8bb775b7bdfbdf.webp)
Бізнес-ідею виокремили в основний функціонал:
- Створення відеовікторин. Це дозволо будь-якому з користувачів наповнювати контентом середовище. Відповіді на вікторини заповнювались самими авторами;
- Пошук по вікторинах і по розділу трендів. Кожний з користувачів мав мати змогу створити власний тренд та викласти відео з вікториною до цього тренду, або ж долучитись до трендів інших користувачів.
- Система рейтингів для кожного з трендів і вікторин;
- Авторизація та реєстрація нових користувачів через соціальну мережу WeeChat;
- Робота з відео розглядалась лише у форматі роботи з файлами, без підтримки медіасерверів і медіатек для потокового відео;
- У зв’язку з обмеженим бюджетом на апробацією бізнес-ідеї був відсутній пре- та пост-процесинг відеоматеріалів.
![](https://storage.stfalcon.com/uploads/images/5dd31077a31b83e487cfad9814bd54c7.webp)
Розробка
Процес розробки розпочався з дослідження ключових функційних вимог:
- Відтворення потокового відео без медіасервера
- Підключення WeeChat в якості соціальної мережі
Найскладнішою частиною в процесі розробки було підключення соціальної мережі, оскільки вона кардинально відрізнялась від загальноприйнятих технологій. Перешкодою ставали кілька факторів:
- Необхідний інвайт існуючого користувача
- Постійна активність користувача в системі. Користувачі, які не користувались соціальною мережею - блокувались
- Платний доступ до девелопер консолі для створення власних додатків
- Весь туторіал, статті з прикладами та спілкування з технічною підтримкою здійснювалось виключно на китайській мові.
У ході розробки за основу була взята Clean Architecture та MVVM архітектури. Уся бізнес-логіка виокремлена в domain модулі. У якості програвача відео матеріалів використовувався ExoPlayer. Саме реалізація його модулів дозволила відтворювати віддалено збережений файл у форматі потокового відео. Також додаткові налаштування та реалізація локального сховища дозволила створити функціонал буферизації та кешування.
Результат
Нам вдалося розробити комплексну систему, яка включає в себе бекенд частину з реалізацією основної бізнес-логіки та нативні клієнтські мобільні додатки під Android платформу.
Над проєктом працювали:
- Андрій
Android розробник