- Install build tools
sudo apt-get install gcc make build-essential g++
- Install Node 0.10.x using Node Version Manager (recommended) or using Install Guide
- Install MongoDB >= 2.6 using Install Guide
- Install CoffeeScript
npm install -g coffee-script
For Node and NPM These gists are helpful when you want/need to install node without sudo, which can prevent some access problems later on.
- Clone repository
git clone [email protected]:Tuxion/webistor-api.git
- Install dependencies
cd webistor-api
npm install
- Compile CoffeeScript
cake build
- Start the application.
cake start
orcake -w start
to restart automatically on changes.
- Install git flow
sudo apt-get install git-flow
Or try: Install guide - Initialize git flow
cd webistor-api
git flow init
- Create your feature branch
git flow feature start <name>
- Watch CoffeScript
cake watch
- Watch JavaScript
cake -w start
- Don't commit your local environment settings: How to ignore versioned files
Write your tests in /test/<path>
. The convention is to make the same as the path
to the file that you're testing in /src/<path>
. Super tests are placed in
test/<name>.coffee
.
More about creating tests can be found in the documentation below. Tests look like this:
describe "Mocha", ->
it "should be able to describe stuff", ->
describe.must.exist()
Run tests using cake test
or cake --watch test
to continuously test.
- Lodash: Utility library used.
- CoffeeScript: Source code language.
- Node: JavaScript built-ins.
- Express: Framework used.
- Mongoose: Database abstraction layer used.
- MongoDB: Database used.
- Bluebird: Promise library used.
- Node Restful: Mongoose exposure to REST helpers.
- Node Logging: Logging library used.
- Node bcrypt: Hashing and cryptology library used.
- Node rand-token: Token generating library.
- Commander: Argv parser and utilities.
- CLI Table: Unicode pretty table generator.
- MySQL: MySQL client for Node.
- All features from the current stable.
- Sharing of entries.
- Elastic Search with the Node client.