Research
Project Overview
Webinar Application is a comprehensive, enterprise-grade video conferencing and webinar platform built with React Native for iOS and Android. This mobile application enables organisations to host live webinars, conduct virtual meetings, and facilitate interactive online events with rich multimedia capabilities.
- Host and manage webinars with large participant capacities (50+ simultaneous participants).
- Conduct interactive virtual meetings with real-time collaboration features.
- Record and archive sessions for later reference and distribution.
- Manage content, participants, and engagement tools all in one unified platform.
- Provide seamless experiences across mobile devices (phones and tablets) with consistent performance.
Challenges
- Real-time video/audio streaming complexity across iOS and Android with varying device capabilities.
- Screen sharing implementation requires different approaches for iOS (Broadcast Extension) and Android.
- Complex state management across multiple Redux stores with real-time WebSocket updates.
- Network resilience and reconnection handling for unstable mobile networks.
- Background processing for downloads and continued functionality when the app is backgrounded.
- Role-based access control for different user types (Host, Moderator, Guest, Viewer).
- Responsive design across phones, tablets, portrait and landscape orientations.
Project Goal
- Deliver seamless, low-latency video/audio communication using WebRTC technology (mediasoup-client).
- Provide identical feature sets and user experiences on both iOS and Android platforms.
- Create an enterprise-ready solution with administrative controls and security features.
- Ensure application reliability under various network conditions and device capabilities.
- Build an intuitive, responsive interface that works seamlessly across different device sizes.
Overcome
- Mediasoup-client integration for stable, scalable WebRTC video/audio communication.
- Platform-specific screen sharing with Broadcast Extension for iOS and native Android implementation.
- Comprehensive Redux architecture with separate stores for user, room, chat, media, and app state.
- Network monitoring and automatic reconnection with visual feedback for users.
- Background download system using react-native-background-downloader for continuous file transfers.
- Role-based permission system with dynamic UI rendering based on user roles.
- Responsive layout system with 4 different view options, adapting to device and orientation.
Technology Stack
App Features
Live Video/Audio Conferencing with multi-participant support
Multiple Layout Views (Grid, Focus, Custom arrangements)
Screen Sharing with Picture-in-Picture mode support
Document & Media Sharing with Zoom and synchronised playback
Real-time Chat with file attachments and message history
Interactive Polls & Q&A with live voting and results
Session Recording with download and management capabilities
Participant Management with role-based controls
Waiting Room & Room Locking for secure access control
Calendar Integration for webinar scheduling and management
Background Downloads for recordings and media files
Deep Linking for easy webinar joining
