Real Time Dashboard App

A Java based, [Google App Engine] (https://developers.google.com/appengine) real time dashboard application that uses Cloud Endpoint and the Channel API. The dashboard receives sensor data from a Raspberry Pi Zero running a Cloud Endpoint client application.

Alt text

Live Demo

Overall Architecture

Alt text

Documentation

Prerequisites

Alt text

Setup Instructions

  1. Checkout the project git clone https://github.com/omerio/raspberrypi-appengine-portal.git

  2. Update the value of app.id & app.version in pom.xml to the app ID you have registered in the App Engine admin console and would like to use to host your instance of this sample.

  3. Update the values in src/main/java/uk/co/inetria/pi/endpoint/Constants.java to reflect the respective client IDs you have registered in the APIs Console. Update the EMAIL_ADDRESS field with the Google Account you are going to use to authenticate the Raspberry Pi App.

  4. Build the application using mvn clean install

  5. Run the application with mvn appengine:devserver, and ensure it's running by visiting your local server's api explorer's address (by default localhost:8080/_ah/api/explorer.)

  6. (Optional) Get the client library with

    $ mvnappengine:endpoints_get_client_lib

    It will generate a client library jar file under the target/endpoints-client-libs/<api-name>/target directory of your project, as well as install the artifact into your local maven repository.

  7. Deploy your application to Google App Engine with

    $ mvn appengine:update