github.com/codecat-io/chat ↗
Quack is a free and open-source chat application designed for private use. Although it doesn't have any unique features, it combines the best features from other communicators. Quack prioritizes privacy and security by allowing users to host their own app, ensuring that they have complete control over their data.
Open this visualization on its own page →
Contributors
3
Lines of Code
5,140
From
2022-03-15
To
2023-05-06
About codecat-io/chat
Quack is a free and open-source chat application built with TypeScript designed for private, self-hosted use. It functions as a Progressive Web Application accessible through any web browser and also offers a native Android app with background notifications. The project takes inspiration from Slack but positions itself as a more affordable alternative for private communication, emphasizing user privacy and data control through self-hosting capabilities.
The application includes a comprehensive feature set covering modern chat functionality such as end-to-end encryption, multi-channel support, direct messaging, message threading, file sharing, emoji reactions, message pinning and search, user mentions, and link previews. It also includes a plugin system for extensibility and custom emoji support. The backend runs on Deno with MongoDB for data storage, while the frontend is built with React. File uploads can be stored in the filesystem, Google Cloud Storage, or in-memory depending on deployment needs.
Quack is configured through a TypeScript configuration file and can be quickly deployed using Docker. The project includes comprehensive documentation covering system architecture, coding conventions, architecture decision records, and mobile app setup. It uses the MIT license and welcomes contributions from the community. Default credentials are provided for initial setup, and new users can be invited through a single-use registration link generated via a slash command.