free4chat
free4.chat is an instant audio conferencing service.
It is designed by the local first and privacy first principle, and is very easy to use.
:warning: This project is just using for technical test purpose, use at all your risk!
:warning: There is freedom of speech, but I cannot guarantee freedom after speech. (- Idi Amin)
Features
- Common
- [ ] Use WebSocket to replace http protocol of JSON-RPC
- Room
- [ ] Text chat, can sent text or emoji
- [ ] Can send arbitrary data by WebRTC datachannel
- [ ] Can share screen if the device support
- [ ] Room permission setting, like public/private type setting
- private room can't been seen on room discovery, and it needs password to enter. The password is End-to-End Encryption, server only need check the answer which given by the client like the
PoW in blockchain* - [ ] Public rooms discovery, like hot room list or filter rooms by type/tag
- private room can't been seen on room discovery, and it needs password to enter. The password is End-to-End Encryption, server only need check the answer which given by the client like the
- User
- [ ] Robot user, like game robot who can play or facilitate game
- robot use Web Speech API to play with user in room
- robot can play some voice games like language learning, technical interview, etc.
- [ ] User real-time collaboration, like whiteboard, you draw I guess, etc.
- [ ] Robot user, like game robot who can play or facilitate game
Architecture
- Tech Stack
- [ ] Use Elixir/Phoenix to rewrite the backend code 🚩
- [ ] Use Recat/Next.js to rewrite the frontend code
- Infra
NOTE:
*means it can be considered a VIP feature.
Contribution
If you are interested in webRTC, peer-to-peer(P2P), real-time collaboration(CRDT), distributed system or robot design, you can join this project and contact with me by twitter.
Thanks
- free4.chat Elixir version is build on the top of Membrane Framework, thanks for their heart of open source.
- free4.chat Golang version is build on the top of Kraken, Mornin, coturn and Pion, thanks for their heart of open source.
- These websites also inspired me: