The server for FastChat
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
config
lib
test
.gitignore
.npmignore
.travis.yml
CHANGELOG.md
LICENSE
Makefile
Procfile
README.md
app.json
coffee_bridge.js
coffeelint.json
init.coffee
package.json

README.md

FastChat Server

Build Status Coverage Status Dependencies

Deploy

This is the FastChat Server, written in CoffeeScript on Node.js. It uses socket.io for real time communication, and faciliates users to register, login, create private groups, invite users to groups, and chat. It has many clients that can be used to chat.

Quick Start

$ npm install fastchat --global

$ fastchat

Features

  1. Users registration, login, logout
  2. Users can create group chats.
  3. Users can send messages to the people in the chats.
  4. Users can leave group chats at anypoint.
  5. Push notifications are sent out, but in an intelligent manner.
  6. Swagger documentation

Development

FastChat uses Mongo as it's storage, as well as certain environment variables for API keys. If these keys are not present, FastChat will disable that functionality.

Prerequisites

  • MongoDB
  • FASTCHAT_PUSH_CERT - The cert.pem file for APN
  • FASTCHAT_PUSH_KEY - The key.pem file for APN
  • GCM_API_KEY - The Google GCM Key

Setting up

The FastChat server requires push certificates to be available to send push notifications. To do so in a secure manner, we read in the certificate from an environment variable.

FASTCHAT_PUSH_CERT=$(cat cert.pem)
FASTCHAT_PUSH_KEY=$(cat key.pem)

Another key you will need is GCM_API_KEY, to send messages to Android devices.

Ensure those variables are available to the server.

Running

In a new Terminal Window:

  1. run npm install in this directory to get the dependencies.

Then run: 5.

AWS_KEY=AMAZON_KEY AWS_SECRET=AMAZON_SECRET ENV=development node server.js

Of course, you will need your own key and secret.

Test

make test

If you want code coverage, instead of the above command, start the server with this one:

make cov-report

Or if you just want the number:

make cov