efenstakes / video-caller-flutter

WebRTC video calling app built with Flutter and TypeScript, NodeJS for the signalling API.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flutter WebRTC Video Calling App

The code in this repo consists of the components required to build a fully functional webrtc app in flutter.

πŸš€ TeleDoc

This folder contains the mobile application. It uses the latest version of flutter and socket io for websockets. To install dependencies run:

flutter pub get

To start flutter app run:

flutter run

Or to specify a device to run it on run:

flutter run -d <device>

Where is a device id. You can get it by running:

flutter devices

If you want to reproduce my work to perhaps rebuild your own version, run (to create a new flutter app):

flutter create <app-name>

Signal

This folder contains the server that powers the mobile application. It uses the latest version of typescript, nodejs and socket io for websockets. To install its dependencies run:

yarn install

To start the server run:

yarn dev

Alternatively, you can use docker to run the api.

Build the Docker image:

docker build -t signal .

Start the Docker container:

docker run -p 8080:8080 signal

πŸ“ Todo

While time to work on projects may be limited, I plan to add a few things to this project in the future:

I plan to build a Signal API with AWS Lambda Websockets which would obviously be a cheaper option than running the current API on AWS EC2 or ECS. I plan to push it to git https://github.com/efenstakes/video-call-signalling-api-aws-lambda.

Add a golang pion server, peerjs, or elixir janus to power group calls.

Contact

Contact me through. efenstakes101@gmail.com

About

WebRTC video calling app built with Flutter and TypeScript, NodeJS for the signalling API.


Languages

Language:Dart 56.2%Language:CMake 16.7%Language:C++ 8.3%Language:TypeScript 8.0%Language:Ruby 5.6%Language:Swift 2.7%Language:C 1.3%Language:Dockerfile 1.0%Language:Kotlin 0.2%Language:Objective-C 0.1%