P2P chat over WebRTC.
Clone the repo, install dependencies and start the app.
git clone https://github.com/codealchemist/peer-chat
cd peer-chat
npm i
npm start
Chateer is a chat application that leverages WebRTC data channels to establish communication between peers.
Signaling, the process used to exchange networking information between peers, is done using WebSockets.
Chateer is intentionally limited to connect just two peers.
The first peer, called the initiator, is the one who creates a chat and can get a link to share it.
Once the share url is opened the signaling phase starts and a p2p connection is established ASAP.
The share url can only be used once.
If any peer tries to re-open the url the connection will be lost and a new one will be required to reestablish communication.
Chateer uses Jest and Enzyme for unit testing.
The coverage is really low at this point and this is something that needs to be enhanced.
Run unit tests during development (uses watch mode):
npm run test:watch
Run unit tests for CI operations (single pass, silent):
npm test