The Data Lab menu
  • Topicsarrow_drop_down
  • Projects
  • Aboutarrow_drop_down
  • Get Connected
  • Machine Learning for Developers
  • Notebooks for Developers
  • Offline First
  • Partners + Data
  • Serverless + Data
  • Working with JSON
  • Team
  • Get Involved
  • Code of Conduct
  • Event Support
  • Projects
  • Topicsarrow_drop_down
  • Aboutarrow_drop_down
  • Get Connected
  • Machine Learning for Developers
  • Notebooks for Developers
  • Offline First
  • Partners + Data
  • Serverless + Data
  • Working with JSON
  • Team
  • Get Involved
  • Code of Conduct
  • Event Support
Offline First / Collection

Location Tracker

Build Offline First apps that leverage the geospatial capabilities of IBM Cloudant.

Mark Watson
Welcome to my data lab.
More by Mark Watson

Screen shot of the Location Tracker demo app.

The Location Tracker demo app uses geolocation to track and map user movements. The app uses an Offline First approach, storing the geolocation data locally on the device using Cloudant Sync or PouchDB, and then sync’ing this data with IBM Cloudant. The Location Tracker demo app is available as a native mobile app or as a web app. Both versions share a mobile backend built with Node.js.

Mobile app

The Location Tracker native mobile app demonstrates to Swift developers how easy it is to integrate IBM Cloudant into an iOS app in order to track, store, and query locations. Since the app uses an Offline First approach, its core capabilities continue to work regardless of the app’s network connectivity status. The Location tracker demo app provides architectural guidance on scaling your app to support millions of users. See the projects featured here for the code.

Web app

The first iteration of the Location Tracker web app demonstrates building the app as a CouchApp, which can be served directly from IBM Cloudant or Apache CouchDB, and leverages PouchDB and the HTML5 Geolocation API on the client side. The CouchApp is then refactored into a single-page application (SPA) which is deployable to IBM Bluemix. From there, a Node.js middle tier is added which provides user management functionality.

  • Location Tracker Web App Tutorial Part 1: Implementing as a CouchApp
  • Location Tracker Web App Tutorial Part 2: Implementing in AngularJS
  • Location Tracker Web App Tutorial Part 3: Adding a Middle Tier to Manage Users
↓ View projects in this collection

Projects

  • Location Tracker Envoy Server [2]
    GitHub | developerWorks

    Scaling the CouchDB database-per-user architecture? No problem.

    • Cloudant
    • Nodejs
    • Offline First
  • Location Tracker Node.js Server [1.5]
    GitHub | developerWorks

    The unsung hero of our location tracker demo—the back end.

    • Cloudant
    • Nodejs
    • Offline First
  • Location Tracker Swift Client [1]
    GitHub | developerWorks

    Track your location, offline or on.

    • Cloudant
    • Swift (iOS)
    • Offline First
© 2017 IBM Watson Data Lab