free4chat  by i365dev

Real-time audio chat service emphasizing local-first and privacy

Created 3 years ago
1,066 stars

Top 35.5% on SourcePulse

GitHubView on GitHub
Project Summary

free4.chat is a real-time audio and text chat service built with a local-first and privacy-first philosophy. It targets users seeking simple, secure communication and offers features like voice and text chat within rooms, with potential for private rooms and end-to-end encryption.

How It Works

The service leverages WebSockets for real-time communication, replacing traditional HTTP protocols. The backend is built with Elixir/Phoenix, utilizing the Membrane Framework for WebRTC capabilities, while the frontend is developed using React/Next.js. This stack facilitates efficient, low-latency interactions. The architecture includes plans for backend clustering and auto-scaling using Elixir's libcluster for distributed systems.

Quick Start & Requirements

  • Install/Run: Deployment is managed via GitHub Actions and AWS Lightsail for the backend. Docker is mentioned for PaaS deployment.
  • Prerequisites: Elixir, Node.js, and potentially AWS services for deployment. Specific WebRTC dependencies like coturn are also noted.
  • Resources: No specific resource estimates are provided, but distributed Elixir systems can scale significantly.
  • Links: dev-notes.free4.chat

Highlighted Details

  • Real-time voice and text chat with potential for private, password-protected rooms.
  • Exploration of CRDTs for real-time collaboration features like whiteboarding.
  • Integration of AI robots for voice games and language learning using Web Speech API and Azure TTS.
  • Backend clustering and auto-scaling capabilities using Elixir's libcluster.

Maintenance & Community

The project is open to contributions from those interested in WebRTC, P2P, CRDTs, distributed systems, or robot design. Contact is available via Twitter. The project acknowledges inspiration from and contributions to open-source communities like Membrane Framework, Kraken, Mornin, coturn, and Pion.

Licensing & Compatibility

The README does not explicitly state a license. Given the nature of open-source contributions and dependencies, users should verify licensing for commercial use or closed-source integration.

Limitations & Caveats

The project is explicitly stated to be for "technical test purpose" and used "at all your risk." Features like persistent text messages, arbitrary data channels, room permission settings, public room discovery, and robust room process rebalancing are marked as incomplete or under development. TURN cluster scaling has a noted dependency on upstream library fixes.

Health Check
Last Commit

7 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
2 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.