What is it?

Cloud Score is an Angular web app for scoring and managing trampoline competitions. It also includes the ability to add wireless sensors to the trampoline to measure time of flight.

Why?

I originally attempted this project 5 years ago with a number of friends whilst at university. Originally it was a Java swing app which connected directly to the sensors for measuring Time of Flight (TOF) using usb serial adapters. With the announcement of Google’s cloud-core I decided to revamp this project and see if it could be done better using modern cloud technologies, as well as a new sensing mechanism.

Technology

This project is developed as a cloud-native web application and is completely serverless (Wow! buzz word bingo alert). The main web-app is served directly from a Google cloud storage bucket, with the backend api calls being implemented in Node.js and are run using Google Cloud Functions. Sensors are managed by the Cloud-Core, with data being streamed into a couple of Pub Sub Queues, these call additional Cloud Functions which store the data into Google Cloud Data Store. The primary choice for this technology stack was a want to not have to maintain servers or infrastructure. I’ve used App engine for this task previously, however I wanted to try out Cloud Functions.

Hardware

Hardware was to be an esp2866, with a custom designed sensing element, although finding the required libraries for generating JWT (JSON web Tokens) for this proved to be somewhat difficult. So the initial proto-type will be built using a Raspberry Pi model 3, as I can use Javascript libraries from other parts of the project to cut down on the debugging and development time.