/cloud-app-hmtool

Primary LanguageJavaScriptApache License 2.0Apache-2.0

HMTOOL: Hydro-Meteorological Tool

This web application demonstrates the power of Javascript and Python as client-side and server-side programming languages, respectively.

This "Demo Prototype" aims to support a framework for managing an environmental observatory information system 1. The ideas behind this prototype are as follows:

  • Data Collection: Data input from several data sources like data from on-field stations, web services, APIs, files, etc. Thus, nature of the input data is very varied.
  • Data Processing: Some cleaning and standardization analysis, ...
  • Data Presentation: The final user can perform several operations, such as reading plots from real time data, etc.

Users can access the application using their Google account. Data are stored in Google Datastore (NoSQL).

Motivation

  • Real time data processing
  • Open standardization such as OGC
  • Visualization intensive
  • Variety of analisys that can be applied
  • IoT trend
  • Popular field for applying Machine Learning techniques

Cloud Environment

Language

Dependencies

Install third-party libraries

pip install -r requirements.txt -t lib/

Credentials

Twitter credentials

Add your twitter credentials in twitter_credentials.py

Deploy the application (code and/or configuration) to Google App Engine

gcloud app deploy

Upload Twitter collection cron job

appcfg.py update_cron -A [PROJECT_ID] . if appcfg.py command not found, go to google-cloud-sdk folder and run this ln -sv ~/google-cloud-sdk/platform/google_appengine/appcfg.py ~/google-cloud-sdk/bin/

Google Cloud Platform Console

Locally run

To locally run the project for development purposes dev_appserver.py .

To locally run the project and clean the datastore dev_appserver.py . dev_appserver.py . --clear_datastore