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.
$ npm install fastchat --global
$ fastchat
- Users registration, login, logout
- Users can create group chats.
- Users can send messages to the people in the chats.
- Users can leave group chats at anypoint.
- Push notifications are sent out, but in an intelligent manner.
- Swagger documentation
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.
- MongoDB
FASTCHAT_PUSH_CERT
- The cert.pem file for APNFASTCHAT_PUSH_KEY
- The key.pem file for APNGCM_API_KEY
- The Google GCM Key
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.
In a new Terminal Window:
- 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.
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