Online meeting app like Google meet, build with Flutter for all platforms. using WebRTC for media real-time communication, socket.io for signaling & messaging, & Server on Nodejs with SFU architecture
MIT License
❗ the project continues on branch 1peer ❗
Online meeting app like google meet, build with flutter for all platforms. this app uses WebRTC for media real-time communication, and socket.io for signaling & messaging. Server running on nodejs with SFU architecture which features the following data transmission processes between the media server and the endpoints (client).
This app also using TURN Server as relays media, work as a backup plan if STUN Server won't work because client device behind of symmetric NAT. TURN server is already end-to-end encrypted by the peers and the TURN Server cannot decode/read the encrypted packet, it just relays the packet to other peers. By default TURN already setup in file (lib/Services/WebRTC/Config/WRTCConfig.dart) using free TURN Servers from OPEN RELAY. but you can add your own Turn server using Zomie TURN Server as relays media.
Features
Tested platform status
#SS Apps
#How to use
create dotenv file
MEDIA_SERVER_HOST = "localhost:5000"
ALLOW_TURN_SERVER = "false"
TURN_SERVER_HOST = "turn:ip:port" #example: "turn:192.168.1.9:3478"
TURN_SERVER_USERNAME = "" #exampe: "zomie"
TURN_SERVER_PASSWORD = "" #example: "password"
android config
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.zomie_app"
build
run debug
#Flutter info
compileSdkVersion 33
minSdkVersion 23
targetSdkVersion 33
WebRTC
Socket io
- server(nodejs): "socket.io": "^2.4.1"
- client(flutter): socket_io_client: ^1.0.1 | ^1.0.2
- server(nodejs): "socket.io": "^4.5.3"
- client(flutter): socket_io_client: ^2.0.0
Socket Io
WebRTC
Flutter Code