Implementing the GPSTest Database: A Serverless Architecture

Requirements

Traditional architecture for sending information from a mobile device to a database server
  • Don’t require a stand-alone web server
  • Don’t require a stand-alone database server
  • Write as little server code as possible — including no custom web application to view the data
  • Write server code in a standard programming language (vs. custom scripts for proprietary environments)

Implementation

GPSTest sends the device info to a Google App Script, which stores it in a Google Sheet
Google App Script code in the doGet() method receives data from the mobile app and stores it in the Google Sheet
Google Sheets serves as a user-interface to the GPSTest Database for Sort, Find, and more operations

Avoiding duplicate uploads

Adding device name

Removing (near) duplicate submissions

  • Manufacturer
  • Model
  • GNSS hardware year
  • GNSS hardware model name

Closing thoughts

--

--

--

Improving the world, one byte at a time. @sjbarbeau, https://github.com/barbeau, https://www.linkedin.com/in/seanbarbeau/. I work @CUTRUSF. Posts are my own.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Standard: Budget Mono-White Aggro and Upgrading it on Magic Arena

Linked List Cycle II

Ispoofer free download

CyberSpace Kenya— StegaPwn

How to share dashboards from NFORS/StatEngine with external agencies

Swarm of Duty II — Scaling Storage Capacity

EC2 Instances 2.0 — Time to Update Your Toolbox

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Sean Barbeau

Sean Barbeau

Improving the world, one byte at a time. @sjbarbeau, https://github.com/barbeau, https://www.linkedin.com/in/seanbarbeau/. I work @CUTRUSF. Posts are my own.

More from Medium

Data sync for cross platform apps

two phones syncing data

Storage Optimization — Partitioning is separated from hot and cold

Our Investment in Ottertune: AI automated Database optimisation platform

Understanding Gradle and Build Automation Tools