OpenBikeSensor Web API
Find a file
2020-10-01 13:40:11 +02:00
config first version of the OpenBikeSensor Web API 2020-04-13 02:02:40 +02:00
models update visibility 2020-08-28 21:50:53 +02:00
postman-examples chore: update package versions and readme 2020-10-01 13:40:11 +02:00
public first version of the OpenBikeSensor Web API 2020-04-13 02:02:40 +02:00
routes chore: update package versions and readme 2020-10-01 13:40:11 +02:00
.gitignore first version of the OpenBikeSensor Web API 2020-04-13 02:02:40 +02:00
app.js separate TrackData 2020-08-14 12:37:34 +02:00
LICENSE Initial commit 2020-04-13 01:52:25 +02:00
package-lock.json chore: update package versions and readme 2020-10-01 13:40:11 +02:00
package.json chore: update package versions and readme 2020-10-01 13:40:11 +02:00
project-logo.png first version of the OpenBikeSensor Web API 2020-04-13 02:02:40 +02:00
README.md chore: update package versions and readme 2020-10-01 13:40:11 +02:00
yarn.lock Bump express-jwt from 5.3.3 to 6.0.0 2020-06-30 20:35:25 +02:00

OpenBikeSensor Web API

The backend API for the OpenBikeSensor Web App.

Running it

Requirements

A working installation of npm and node.js - get the latest node.js LTS release at the node.js homepage and verify it's working via node -v and npm -v in a command prompt of your choice.

A working installation of Docker for the used containerized MongoDB.

First start

To get started you need to download all used packages with npm i in the project's root folder first.

Next up is our local MongoDB. This uses docker but can be conveniently started via sudo npm run mongo:start (at least in Ubuntu Linux).

Afterwards the dev server is started with npm run dev and can be called via http://localhost:3000/api.

To completely stop the project after running it a call to sudo npm run mongo:stop is necessary.

Running the tests

Just execute npm run test while both the node.js server and the MongoDB are up and running.

Warning: At the moment (2020-09-29) there are no tests.

Uploading a track for test purposes

Uploading a track to the local server requires multiple steps, as uploading is not possible via the dummy upload form in the corresponding web app yet:

  • Create a user in the web app and copy the user id, which can be found at (http://localhost:4200/settings) as "API key"
  • Import the Postman script "add-track.json" from the "postman-examples" into Postman
  • In each of the three requests add your user id in the "Pre-request script" tab as the value for the "UserId" variable
  • As tracks have to be split into smaller parts to get a working upload from the sensor you have to run the three requests in the order of: begin -> add -> end
  • View your freshly uploaded track at (http://localhost:4200) -> Home -> Your feed