PubNub ChatEngine is an object oriented event emitter based framework for building chat applications in Javascript. It reduces the time to build chat applications drastically and provides essential components like typing indicators, online presence monitoring and message history out of the box.
The real time server component is provided by PubNub. ChatEngine is designed to be extensible and includes a plugin framework to make adding new features simple.
Getting Started
Check out the getting started guide.
Docs
You can find the full docs on the full documentation website.
Examples
SDKs
Javascript
jQuery
Angular
React
3rd Party Authentication
NodeJS + Chatbot
Plugins
Check out the jQuery Kitchen Sink and Angular Kitchen Sink examples to see plugins in action.
- Typing Indicator
- Event Status and Read Receipts
- Mute Users
- Random Usernames
- Desktop Notifications
- Online User Search
- Image Uploads
- Persistent Message History
- Markdown Support
- Emoji Support
- Unread Messages
- Gravatar Support
Other usage examples
The integration tests in test/integration
includes some usage examples.
Development
Cloning
Clone repos (chat-engine and plugins).
All repos should be siblings of one another. This is required for rendering docs properly.
chat-engine
chat-engine-desktop-notifications
chat-engine-emoji
chat-engine-examples
//...
Setting up environment
nvm use v6
run http-server
from my /development
directory which has all chat-engine repos:
cd chat-engine
node server.js
load http://localhost:8080 in browser and navigate to /chat-engine-examples/jquery/kitchen-sink
Compiling
Run gulp
to compile, but you should probably run gulp watch
to get consistent changes.
Running Tests
You will need to assign environment variables PUB_KEY_0
and SUB_KEY_0
to your own PubNub keys. Add these variables into your .bashrc
or .zshrc
.
# pubnub chatengine keys
export PUB_KEY_0="YOUR PUBNUB PUBLISH KEY"
export SUB_KEY_0="YOUR PUBNUB SUBSCRIBE KEY"
Then, in the root folder run:
gulp test
PubNub Functions and Account Setup
You can find the scripts for the PubNub Automagic Setup here: https://github.com/pubnub/chat-engine-setup.
Releasing a patch (chat engine and plugins)
npm version patch && git push origin master --tags