0.0.17 • Published 9 years ago
skateroots-api v0.0.17
Skateroots API
API for serving skateroots route info
Install
Install dependencies:
$ npm iRun
$ npm startRun on a different port.
$ PORT=3001 npm startRun the production environment. This will use Postgres with the config defined in config/config.json.
$ NODE_ENV=production npm startTesting
Tests are run with mocha. Note that running tests will create the sqlite db file db.test.sqlite which is used for each test. sqlite can be run in memory (which is ideal for running tests), however transactions aren't supported in this mode. The records in db.test.sqlite are removed before each test.
To run all tests:
$ npm testTo run only unit tests:
$ npm run test-unitTo run only integration tests:
$ npm run test-integrationTo run a specific test:
$ npm run test-integration -- --grep "should allow a user to create more than one group"API
$ url="https://api.skateroots.org"User
Create
Example Request
$ curl -X POST \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-d '{"username": "andrew", "password": "test"}' \
"$url/user/signup"Login
Example Request
$ curl -X POST \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-c skateroots-session.txt \
-d '{"username": "andrew", "password": "test"}' \
"$url/user/login"Note -c skateroots-session.txt. This creates a file for storing session cookies. This will be used in the requests below.
Get Roots
Example Request
$ curl -X GET \
-H "Cache-Control: no-cache" \
-b skateroots-session.txt \
"$url/user/roots"Root
Create
Example Request
$ curl -X POST \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-b skateroots-session.txt \
-d '{"name": "Root at 1478148669", "positions":[{"coords":{"accuracy":35,"altitude":null,"altitudeAccuracy":null,"heading":null,"latitude":45.5231,"longitude":-122.6765,"speed":null},"timestamp":1477906653997}],"accles":{"z":[null,null,null],"y":[null,null,null],"x":[null,null,null]}}' \
"$url/root"Todo
- finish API docs