This is the official developer documentation for OnRabbleClient — a lightweight, modular, and real-time chat client built with modern C++ and QML.
OnRabbleClient is designed to connect to an OnRabble-compatible chat server via secure WebSocket connections and supports multiple chat windows, message filtering, and dynamic authentication workflows. It is part of the larger OnRabble ecosystem, but this guide focuses solely on the client application.
If you're new to the project, we recommend starting with gettingstarted.html.
- Built in modern C++ and QML with modularity and maintainability in mind
- Communicates with the backend via Qt WebSockets
- Employs proxy models for reactive message filtering in QML
- Emphasizes declarative binding and separation of concerns
OnRabbleClient is my first open-source project, and while I'm not currently accepting direct contributions, I welcome feedback, suggestions, or insights from more experienced developers.
The goal of this project is to grow both technically and architecturally, and I’m always open to learning from others who have built similar systems or worked with Qt at scale.
The source code is available at: https://github.com/daftpy/OnRabbleClient