Skip to content

Demo web application which records a device's location and saves this information to IBM Cloudant

License

Notifications You must be signed in to change notification settings

leonzz/location-tracker-nodejs

 
 

Repository files navigation

Cloudant Location Tracker

The Cloudant Location Tracker is a demo web application which records a device's location and saves this information to IBM Cloudant.

Cloning

Get the project and change into the project directory:

$ git clone https://github.com/cloudant-labs/location-tracker-nodejs.git
$ cd location-tracker-nodejs

Configuring Local Development

Local configuration is done through a .env file. One environment variable, VCAP_SERVICES, is needed in order to configure your local development environment. The value of the VCAP_SERVICES is a string representation of a JSON object. Here is an example .env file:

VCAP_SERVICES={"cloudantNoSQLDB": [{"name": "cloudant-location-tracker-db","label": "cloudantNoSQLDB","plan": "Shared","credentials": {"username": "your-username","password": "your-password","host": "your-host","port": 443,"url": "https://your-username:your-password@your-host"}}]}

Note: Services created within Bluemix are automatically added to the VCAP_SERVICES environment variable. Therefore, no configuration is needed for Bluemix.

Installing

Install the project's dependencies:

$ npm install

Running

Run the project through Foreman:

$ foreman start

Configuring IBM Bluemix

Complete these steps first if you have not already:

  1. Install the Cloud Foundry command line interface.
  2. Follow the instructions at the above link to connect to Bluemix.
  3. Follow the instructions at the above link to log in to Bluemix.

Create a Cloudant service within Bluemix if one has not already been created:

$ cf create-service cloudantNoSQLDB Shared cloudant-location-tracker-db

Deploying

To deploy to Bluemix, simply:

$ cf push

Note: You may notice that Bluemix assigns a URL to your app containing a random word. This is defined in the manifest.yml file. The host key in this file contains the value cloudant-location-tracker-${random-word}. The random word is there to ensure that multiple people deploying the Location Tracker application to Bluemix do not run into naming collisions. However, this will cause a new route to be created for your application each time you deploy to Bluemix. To prevent this from happening, replace ${random-word} with a hard coded (but unique) value.

Privacy Notice

The Location Tracker sample web application includes code to track deployments to IBM Bluemix and other Cloud Foundry platforms. The following information is sent to a Deployment Tracker service on each deployment:

  • Application Name (application_name)
  • Space ID (space_id)
  • Application Version (application_version)
  • Application URIs (application_uris)

This data is collected from the VCAP_APPLICATION environment variable in IBM Bluemix and other Cloud Foundry platforms. This data is used by IBM to track metrics around deployments of sample applications to IBM Bluemix to measure the usefulness of our examples, so that we can continuously improve the content we offer to you. Only deployments of sample applications that include code to ping the Deployment Tracker service will be tracked.

Disabling Deployment Tracking

Deployment tracking can be disabled by removing ./admin.js track && from the install script line of the scripts section within package.json.

License

Licensed under the Apache License, Version 2.0.

About

Demo web application which records a device's location and saves this information to IBM Cloudant

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 86.2%
  • CSS 10.1%
  • HTML 3.7%