Awesome Open Source
Awesome Open Source

AngularJS Hubbub

This is a full AngularJS chat app built with PubNub

AngularJS Hubbub Screenshot

Features

  • Load earlier messages with infinite scroll
  • Typing indicator
  • Realtime user roster
  • OAuth 2.0 authentication flow with Github OAuth
  • Private and secure communication
  • Friends list
  • Direct chat

Roadmap

  • Sending pictures
  • Group chat
  • AES-256 encryption
  • Digital Signature Message Verification
  • IOS / Android native packaging with Ionic
  • ...

Tutorials

Learn how to build this chat app by following these easy-to-follow tutorials:

Quick start instructions

Obtaining OAuth Keys

Obtaining PubNub Keys

  • Visit https://admin.pubnub.com/ to login or create an account
  • Click on the New app button and give it a name.
  • Click on the Create new keyset button and give it a name
  • Get your Publish Key, Subscribe Key and Secret Key

Running the client

  • Insert your PubNub keys, OAuth keys and server configuration in a client/config.json file.
    There is an example in the client/sample.config.json or below is how this file looks like:
{
	"PUBNUB_SUBSCRIBE_KEY": "sub-c-61b076f2-fed0-...............",
	"PUBNUB_PUBLISH_KEY": "pub-c-d22410bf-edc6-44fb-............",
	"GITHUB_CLIENT_ID": "1e439e............",
	"GITHUB_REDIRECT_URI": "http://localhost:9000/",
	"GITHUB_ACCESS_TOKEN_REQUEST_URL": "http://localhost:3000/auth/github",
	"SERVER_URL": "http://localhost:3000/"
}
  • Execute the following commands in your terminal:
cd client
bower install
npm install
grunt serve

Run grunt build for building the production app

Running the server

  • Insert your PubNub keys, OAuth keys and server configuration in a server/.env file.
    There is an example in the server/.sample.env or below is how this file looks like:
PUBNUB_SUBSCRIBE_KEY=sub-c-61b076f2-fed0-...............
PUBNUB_PUBLISH_KEY=pub-c-d22410bf-edc6-44fb-............
PUBNUB_SECRET_KEY=sec-c-MGM4ZjJkNTYtNzQ1Zi0................
SERVER_PUBNUB_AUTH_KEY=....ANY-RANDOM-STRING.....
GITHUB_CLIENT_ID=1e439e............
GITHUB_CLIENT_SECRET=3c69fde2d90e3............
GITHUB_REDIRECT_URI=http://localhost:9000/
GITHUB_ACCESS_TOKEN_REQUEST_URL=http://localhost:3000/auth/github
  • Execute the following commands in your terminal:
  cd server
  npm install
  npm start

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (68,063
angularjs (269

Find Open Source By Browsing 7,000 Topics Across 59 Categories