skateroots-api

0.0.17 • Public • Published

Skateroots API

API for serving skateroots route info

Install

Install dependencies:

$ npm i

Run

$ npm start

Run on a different port.

$ PORT=3001 npm start

Run the production environment. This will use Postgres with the config defined in config/config.json.

$ NODE_ENV=production npm start

Testing

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 test

To run only unit tests:

$ npm run test-unit

To run only integration tests:

$ npm run test-integration

To 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

Readme

Keywords

none

Package Sidebar

Install

npm i skateroots-api

Weekly Downloads

0

Version

0.0.17

License

ISC

Last publish

Collaborators

  • akenn
  • likethemammal