Skip to content

Dakuan/nattr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Nattr

A chat application that interlaces social media feeds.

Installation

Dependencies

Currently there is nothing other than Javascript in this application so our depenecy list is rather short:

  • nodejs
  • mongodb

Getting started

Once node is installed, all we need are the dependencies and the gulp CLI

$ npm install
$ npm install gulp -g

Development

Private config

You will need to add a secret.json file to the config folder. The secret.json file contains twitter api tokens and secrets that you will need. It should look like:

{
    "twitter_consumer_key": "KEY",
    "twitter_consumer_secret": "KEY_SECRET",
    "twitter_token": "TOKEN",
    "twitter_token_secret": "TOKEN_SECRET",
    "admin_user_name": "ADMIN_USER_NAME",
    "admin_user_password": "ADMIN_USER_PASSWORD",
}

Please note tat secret.json is excluded from the repository via the .gitignore file. This is a good thing. If you wish to commit it anyway, either remove the entry in the .gitignore or rename the file to local.json.

Run gulp development tools

Gulp will compile ReactJS components, css and what not as well as recompiling the right things when files change. It will also run your tests and nag you when they go wrong.

$ gulp

Run gulp dev server

Running the development server in the same gulp processs as the watchers was often a pain with previous projects, so this time we will run it in a new tab and process. It doesn't really do much beyond restarting itself when files change.

# in a new tab...
$ gulp server

Production

Production config

As per the local development settings, you will need to add the twitter tokens and keys. You can do this in a JSON config file with the same name as NODE_ENV eg production.json or as command line arguments or env variables (this is what I do on Heroku). See the nconf docs for more information.

Asset compilation

We don't want to be running gulp on Heroku, so we use the npm postinstall hook to do a final production version of our css and js. Heroku will do this all by itself. It's really important that the destination folders exist, see the build folder readme for more details.