# chatjs **Repository Path**: imcheese/chatjs ## Basic Information - **Project Name**: chatjs - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-12 - **Last Updated**: 2024-06-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ChatJS A realtime platform and UI framework independent JavaScript chat engine. There are lots and lots of realtime chat solutions. However, all these solutions have some sort of tie-in to a realtime platform (e.g. Socket.IO), a front-end framework (e.g. jQuery) or both. The purpose of ChatJS is to offer a core chat engine that provides all the functionality needed for chat and extension points to plug in any realtime framework and any UI framework. ## Example ```html ``` ## Realtime Platform Integration *This section is a work in progress* Realtime frameworks are plugged in by fulfilling a `PlatformAdapter` contract and by interacting with a set of core objects. The core chat objects include: * `ChatRoom` * `ChatUser` * `ChatMessage` ### Existing Realtime Platform Integrations You can find existing integrations in the `src/platforms` directory. *Presently there is only a [Pusher](http://pusher.com) adapter and associated example.* ## UI Framework Integration *This section is a work in progress* As with the realtime framework the UI framework should interact with a set of core objects and receive information from those core object when building an manipulating the UI. ### Existing UI Framework Integration UI framework integration examples should be in `src/ui-frameworks`. *There are presently no UI framework examples* ## Todo ### Planned * User join and leave * Support for multiple chat rooms * Get list of rooms from the chat engine * Get list of messages from a chat room * Set user status e.g. away, busy, online, offline * Add JSDoc for core object APIs ### Under Consideration * Private message another user