A Flutter application that enables teachers to host video meetings and students to connect in a peer-to-peer way. The app integrates with alphaonelabs.com for user authentication and class management.
- User authentication with alphaonelabs.com
- View enrolled classes
- Join video meetings
- Peer-to-peer video streaming
- Audio mute/unmute
- Video on/off controls
- Responsive UI that works in both portrait and landscape modes
- Flutter SDK (3.0.0 or higher)
- Dart SDK (2.17.0 or higher)
- Android Studio / Xcode for mobile development
- A device with a camera and microphone
- Clone the repository:
git clone <repository-url>
cd video-app- Install dependencies:
flutter pub get- Run the app:
flutter runRun the tests using:
flutter testThe app follows a clean architecture pattern with the following structure:
lib/main.dart- App entry pointscreens/- UI screenslogin_screen.dartclass_list_screen.dartvideo_meeting_screen.dart
services/- Business logicauth_service.dart
The app uses WebRTC for peer-to-peer video streaming with the following features:
- STUN server configuration for NAT traversal
- SDP negotiation through alphaonelabs.com signaling server
- ICE candidate exchange
- Video and audio track management
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.