30/06/2023
Уже по традиции этой весной мы провели внутрикомандный хакатон🤘
В этот раз ребята разрабатывали мобильный «zoom на минималках» под iOS и Android 👨💻👩💻
И знакомились с новым для них фреймворком и стандартом передачи данных.
Мы попросили Олега (наш крутой frontend-разработчик) от лица команды рассказать об их опыте.
«В рамках хакатона мы ставили перед собой следующие задачи:
⃣изучение нового для нас фреймворка и стандарта передачи потоковых данных
⃣разработка дизайн-прототипа приложения
⃣разработка приложения видеоконференции с минимальным функционалом (создание встречи, просмотр недавних встреч, функционал видеоконференции, функционал чатов, раздел с текстовыми страницами).
Перед началом хакатона мы провели подготовку, где разобрали основы React Native и WebRTC, разработали прототип интерфейса, составили диаграмму взаимодействия модулей и компонентов, разработали бэк (rest api и socket сервер), составили пул задач с приоритетами от «это нужно сделать сегодня» до «это необязательный блок, его сделаем, если успеем за хакатон»
Помимо React Native и WebRTC в разработке использовали:
➡TypeScript — т.к. если не использовать типизацию в проектах с большой функциональностью, то, возвращаясь к нему через время, можно запутаться
➡Redux — стейт менеджер, некое централизованное хранилище, которое содержит в себе бизнес логику
➡Axios — удобная, гибко конфигурируемая библиотека для работы с запросами.
Бэк реализовали на node.js, в роли субд mongodb.
Сам хакатон продолжался 15 беспрерывных часов и за это время мы успели реализовать большую часть функционала MVP.
Из возникающих проблем — мы периодически стопорились из-за специфичности синтаксиса React Native и некоторых его ограничений в стилизации.
В настоящее мы продолжаем в свободное время доделывают блоки по приоритетам».