/arco

API for archery scores

Primary LanguageCoffeeScript

#Arco

Arco is an HTTP server to store your archery scores that provides a RESTful Open Public API.

Current Version: 0.0.1
Build Status: Build Status
Node Support: 0.11

##Contributions

If you care about archery and know how to build software you can help making progress to this exciting project. Open an issue if you have questions. Fork the this repository and start contributing.

##Technologies

The server is a node.js application written mainly in CoffeeScript and it is based on express.js. The storage is mongoDB.

##Philosophy

The project implementation follows the node.js phylosophy aggregating smaller library published on npm to achieve the final goal. It tries not to couple any library or service together. It requires minimal global installations to run.

##Dependencies

To run the server you need mongoDB, redis and node.js installed. For the full list or requirements see package.json,

type in the shell:

npm install

to install all local dependencies.

##Start Server

-./set-env local npm run dev-api

testing modality

./set-env test npm run dev-api

##Testing

After each commit is pushed TravisCI starts testing as part of their Open Source cloud testing facility.

###On localhost You can test a specific file like so:

./set-env test make test-unit-back path="test/unit/mapper/UserMapperTest.coffee"

##Functional test

You need to install ciao globally to run the functional tests.

sudo npm install ciao -g

It is possible to load the fixtures manually

make drop-test-db
make load-fixtures
make create-cookies

run the test

shell1

./set-env test npm run dev-api

shell2

make test-func path="test/functional/json/<RELATIVE_PATH_TO_TESTS>"

or drop and re-load fixtures

make test-func-init path="test/functional/json/<RELATIVE_PATH_TO_TESTS>"

##LICENSE

Arco is licensed under the MIT license.