All Projects → pubnub → Chat Engine

pubnub / Chat Engine

Licence: other
Object oriented event emitter based framework for building chat applications in Javascript.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Chat Engine

Angular Chat
(IM App)Chat App built using Angular and Socket.io
Stars: ✭ 12 (-86.21%)
Mutual labels:  chat, websocket, socket-io
Wechat
聊天系统、Vue.js、React.js、node.js、MongoDB、websocket、socket.io、前后端分离、毕业设计。
Stars: ✭ 188 (+116.09%)
Mutual labels:  chat, websocket, socket-io
Beaver
💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
Stars: ✭ 1,056 (+1113.79%)
Mutual labels:  pubsub, websocket, socket-io
Socket.io
NodeJS《你画我猜》游戏
Stars: ✭ 255 (+193.1%)
Mutual labels:  chat, websocket, socket-io
Tyloo Chat
vue + nestjs IM即时通讯聊天室(仿wechat)
Stars: ✭ 54 (-37.93%)
Mutual labels:  chat, websocket, socket-io
Websocket Chat
Websocket based group chat app built with socket.io and react.
Stars: ✭ 689 (+691.95%)
Mutual labels:  chat, websocket, socket-io
Netty Websocket Spring Boot Starter
🚀 lightweight high-performance WebSocket framework ( 轻量级、高性能的WebSocket框架)
Stars: ✭ 885 (+917.24%)
Mutual labels:  chat, websocket
Vuex Socketio Plugin
Vuex plugin to integrate socket.io client
Stars: ✭ 34 (-60.92%)
Mutual labels:  websocket, socket-io
Workerman Chat
Websocket chat room written in PHP based on workerman.
Stars: ✭ 988 (+1035.63%)
Mutual labels:  chat, websocket
Hooligram Client
React Native app for Hooligram
Stars: ✭ 49 (-43.68%)
Mutual labels:  chat, websocket
Ghchat
📱A chat application for GitHub. React + PWA + Node(koa2) + Typescripts + Mysql + Socket.io
Stars: ✭ 791 (+809.2%)
Mutual labels:  chat, socket-io
Mean Angular4 Chat App
MEAN stack with Angular 4 Chat App
Stars: ✭ 41 (-52.87%)
Mutual labels:  chat, websocket
Django Channels React Multiplayer
turn based strategy game using django channels, redux, and react hooks
Stars: ✭ 52 (-40.23%)
Mutual labels:  chat, websocket
Deepstream.io
deepstream.io server
Stars: ✭ 6,947 (+7885.06%)
Mutual labels:  pubsub, websocket
Laverna
Laverna is a JavaScript note taking application with Markdown editor and encryption support. Consider it like open source alternative to Evernote.
Stars: ✭ 8,770 (+9980.46%)
Mutual labels:  websocket, socket-io
Poxa
Pusher server implementation compatible with Pusher client libraries.
Stars: ✭ 898 (+932.18%)
Mutual labels:  pubsub, websocket
Gophergameserver
🏆 Feature packed, easy-to-use game server API for Go back-ends and Javascript clients. Tutorials and examples included!
Stars: ✭ 61 (-29.89%)
Mutual labels:  chat, websocket
Gochat
goim server write by golang !🚀
Stars: ✭ 1,144 (+1214.94%)
Mutual labels:  chat, websocket
Chatroom Vue
一个简单的多人聊天室。基于vue和node+Socket.IO
Stars: ✭ 71 (-18.39%)
Mutual labels:  chat, websocket
Briefing
Secure direct video group chat
Stars: ✭ 710 (+716.09%)
Mutual labels:  chat, websocket

Deprecation Notice

ChatEngine has been deprecated with no plans for additional releases. Support for the ChatEngine SDK will end on July 16, 2021. If you have questions about ChatEngine, please contact us at [email protected]. Please visit our newer chat product, PubNub Chat.

PubNub ChatEngine Framework

Build Status Codacy Badge Codacy Badge

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.

For more information on building chat applications with PubNub, see our Chat Resource Center.

Documentation

You can find the full docs on the documentation website.

Getting Started

Prerequisites

  • NodeJS
  • Twitter Bootstrap
  • jQuery
  • ES6

PubNub Account Set Up

To set up ChatEngine on PubNub, one must first set up a PubNub Key. The following steps outlines how to manually set up a PubNub Key to work with ChatEngine client-side SDKs.

Sign Up for a PubNub Account

If you don't already have an account, you can create one for free here.

Set Up the REST API Service using PubNub Functions

The ChatEngine framework and client-side SDKs interact with a REST API service that runs as a PubNub Function.

You'll need to set up the function on your PubNub Account before you can use the SDKs.

Follow the ChatEngine Server Setup Instructions.

Download Code

Create a new NPM project

Since we'll be installing dependencies, it's helpful to create a new package.json to keep track of all of the packages we're going to install.

In your project directory, run this command to create a new package. Complete the interactive set up guide and we'll be ready to go.

npm init

That'll create a package.json in your project directory.

{
  "name": "chat-engine-tutorial",
  "version": "0.0.1",
  "description": "An example PubNub ChatEngine Tutorial",
  "main": "index.js",
  "author": "Ian Jennings"
}

Install PubNub ChatEngine

Alright, now for the part you've probably never done before! Install PubNub ChatEngine by running:

npm install [email protected] --save

Additional Resources

Plugins

Check out the jQuery Kitchen Sink and Angular Kitchen Sink examples to see plugins in action.

Videos

Tutorials

Javascript

  • Getting Started tutorial.
  • Chat - Really simple chat example. The "hello world" of ChatEngine.
  • Online List - No chats, just renders who is online. See the Kitchen Sinks for how to combine this with private chats.

React Native + Mobile

React

  • React - Bare bones react web example.

Vue

  • Vue Guide - Guide on using ChatEngine and Vue together. Uses the following resources.
  • Vue Example - Full featured ChatEngine vue example.
  • Vue Plugin - ChatEngine plugin for vue.

Angular

  • Angular Simple - Angular "Hello World" app. Simple app that uses a custom Angular plugin to render when anything updates.
  • Angular Kitchen Sink - The largest demo app out there, almost a complete Desktop Team Chat clone (Slack, Stride, Flowdock). Persistent URLs and renders into a real desktop app with Electron!

jQuery

  • jQuery Simple - jQuery ChatEngine "Hello World" app. A simple app where everyone chats together.
  • jQuery Kitchen Sink - Huge example that uses most ChatEngine features. Has an online list that spawns new chats when you click on usernames.

3rd Party Authentication

NodeJS + Chatbot

  • NodeJS ChatBot - An example bot that responds to messages and emulates typing. Works with the jQuery Kitchen Sink example by default.

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 the 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

Releasing a patch (chat engine and plugins)

npm version patch && git push origin master --tags

Support

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].