- Notifications
You must be signed in to change notification settings - Fork2
A webapp for experimenting with WebRTC
NotificationsYou must be signed in to change notification settings
antoinechalifour/talkie.lol
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Talkie is a free, open-source, secure, peer-to-peer video chat app that you can use to talk to your friends.
Talkie is a side-project that I use to play with WebRTC and brand new Web APIs. Talkie uses :
Category | API | Used for... |
---|---|---|
WebRTC | RtcPeerconnection | Creating peer to peer connections |
WebRTC | Data Channels | Sending messages and images |
WebRTC | MediaDevices / enumerateDevices | Selecting audio and video sources |
WebRTC | MediaDevices/ getUserMedia | Stream the user audio / video |
WebRTC | MediaDevices / getDisplayMedia | Share the user screen |
PictureInPicture | Video / requestPictureInPicture | Enable picture in picture for a user |
Clipboard | writeText | Copy the space link |
Clipboard | write | Copy the space QR code |
Clipboard | paste event | Send images from the clipboard over data channels |
Canvas | captureStream | (Experiment) Merge all streams to a canvas |
Canvas | toBlob | To copy a canvas to the clipboard |
WebAudio | AnalyzerNode | Detect sound and silence |
Navigator | Connection | Detect connection type |
PWA | Service Workers | Installing Talkie on your device! |
The source code can be foundhere.
The signaling server is aGraphQL API, written using :
- ✅ TypeScript
- 🚀Apollo server as a GraphQL server
- 🄺Koa
- ♻️ Dependency Injection usingAwilix
- 📦 Redis as a database / pubsub
The source code can be foundhere.
The frontend is aReact app using :
This project extensively uses new APIs such as CSS Grid or CSS custom properties.
To run this project locally, you will need
- Docker and docker-compose
- Yarn
- A version of Node supported bycreate-react-app.
To start the app :
- Install dependencies using
yarn
in the project root - Run
docker-compose up
in the project root (this will start Redis and the signaling server in watch mode usingts-node
) - Run
yarn start
in thepackages/web
directory (this will start the front-end)
# Configure the remote machine (install Nginx and Docker)ansible-playbook infra/playbooks/install.yml# Configure the reverse proxyansible-playbook infra/playbooks/reverse_proxy.yml# Deploy the appansible-playbook infra/playbooks/talkie.yml
About
A webapp for experimenting with WebRTC
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.