Architecture and Components
The server manages the logic and computation, user accounts, message storage, and communication with other components.
Rocket.Chat clients provide users with an interface on the web, using a desktop or mobile application in connecting with a server. Server communication with the clients is done mainly through HTTP requests and Websockets.
Push notifications are sent to mobile devices through a cloud push notification gateway. SMTP and email notifications can be configured.
Rocket.Cht apps: Apps are developed using the Apps Engine which is the medium of interfacing with the Rocket.Chat server. Examples include the WhatsApp app and Google Calendar app.
Integrations: Allows for integrating other external systems and services using APIs and webhooks. A list of common integrations can be seen here.
Bridge services: Provides a way of seamlessly transmitting data and conversation with different conversational platforms or protocols. Rocket.Chat implementation currently supports bridging with the Matrix protocol, see Matrix Bridge.
Database: Rocket.Chat server uses MongoDB as a database to store all chat messages, user information, and other system configurations and related data.
File Storage: Files like assets, user files, images, and other media files are stored locally on the system running the server or over network services like Amazon S3, and WebDAV.
Rocket.Chat uses the WebSocket protocol to enable real-time communication between the client and server. The WebSocket protocol is a high-performance, bi-directional communication protocol that enables instant data transfer.