Skip to content

Maxatma/Walkie-Talkie

Repository files navigation

Walkie-Talkie

Video Calls Application that implements WebRTC power for video calls.

Technologies used:

  • Language: Swift 5
  • Main Architectural pattern: MVVM + Router
  • Dependency manager: CocoaPods
  • Network: WebRTC: GoogleWebRTC Signaling: Firebase/Firestore
  • UI: Xib, Autolayout, UIStackView
  • Reactive Programming: ReactiveKit + Bond
  • Object JSON Mapping: Codable

Functionality description:

  • Create room by entering ID and pressing "create"
  • Provide you ID to callee and make him enter ID and press "join"
  • Choose source for video stream - camera or default videofile
  • Choose previous room IDs you have used
  • Your video goes in picture-in-picture
  • Tap to hide all but caller video
  • Press settings buttons for mic/sound/video on/off
  • Enjoy video call

You can use WebRTCClient and SignalingClient classes to make your own video call project. To do that create Firebase project and put your GoogleService-Info.plist file into it. Don't forget to call FirebaseApp.configure() in AppDelegate

Other platforms:

Android version https://github.com/paulzin/webrtc-demo

Web Code: https://github.com/webrtc/FirebaseRTC/blob/master/public/app.js

Web sample: https://walkie-talkie-b01d7.web.app

Contacts

Oleksandr Zaporozhchenko [github] [gmail] [fb] [in]

Releases

No releases published

Packages

No packages published