gitmyhub

fiora

TypeScript ★ 7.2k updated 2y ago

An interesting open source chat application. Developed with node.js, mongoDB, socket.io and react

A self-hosted open-source chat app with web, Android, and iOS clients that supports group rooms, private messaging, emoji, images, files, and voice messages with real-time delivery.

TypeScriptNode.jsReactMongoDBsocket.ioDockersetup: moderatecomplexity 3/5

Fiora is an open-source chat application that you can host yourself. It covers the full stack: a Node.js backend, a React-based web frontend, and Android and iOS mobile apps. Users register accounts, join or create group chat rooms, and can also send private messages to individuals and add them as friends.

The supported message types go beyond plain text. You can send emoji, images, code blocks, files, and voice commands. The app can read incoming messages aloud and supports custom notification ringtones. Users can also customize the visual appearance by picking different theme colors and wallpapers.

Running it yourself requires Node.js and MongoDB, the database where messages and accounts are stored. The project also uses socket.io, a library that keeps a live connection between the browser and server so messages arrive instantly without the page needing to reload. Installation is possible either by cloning the source code directly or by using Docker, a tool that packages everything up so it runs in an isolated container with fewer setup steps.

A live demo is available at the project's own website, and the full documentation including installation steps and a changelog lives on a separate documentation site linked from the README. There is also a Visual Studio Code extension made by a third party that connects the editor to a Fiora server, letting developers chat without leaving their code editor. The project is MIT licensed.

Where it fits