William Wang

Client Project: Weather Climate Insight

Client Project: Weather Climate Insight

2019-05-23

Description

Severe weather conditions have brought enormous impact to different industries. Currently, the prediction of those conditions are performed manually and the results are not easily accessible. To solve this problem, a local-based web-application prototype has been built. This prototype acquires and transforms weather climate data from different sources and present the data in an organized web dashboard. The prototype has been shown to different interested parties and received positive feedbacks.

Having passed the proof-of-concept stage, the task now is to build on top of the prototype to create a product that is highly available and responsive.

The user of the product will be able sign in to their own account on any web browser and access a list of weather monitoring and predicting services. The user will also be able to specify the detail about when and how they should be alerted.

Features

  1. Serverless architecture

  2. Near real time radar map.
    Fetching Radar data from Environment and Climate Change Canada’s Meteorological Service of Canada (MSC) open data every 10 minutes.

radar-map

  1. Real time lightning map
    Using DynomoDB for history lightning data.
    Using Websockect for real time lightning.

lightning-map

  1. Air quilty monitor dashboard

Architecture

  1. Overall architecture

wci-architecture

  1. User login system

login-architecture

  1. Serverless websocket for real time lightning display

websocket-architecture

What Have We Learned

  1. Documentation

documentation-tree

  1. Technology
    1. Apexchart.js
      JavaScript graphics and visualization library that helps with manipulating data and presenting them on the frontend.
    2. Node.js
      Used for authentication, database query, and data representation.
    3. Geomet WMS
      Provides access to the Environment and Climate Change Canada’s Meteorological Service of Canada (MSC) open data.
    4. AWS-Route 53
      DNS service provider.
    5. AWS-S3
      Static web hosting and raw data storage.
    6. AWS-Cognito
      Handels user sign in.
    7. AWS-DynamoDB
      Database service for frontend and backend.
    8. AWS-IAM
      AWS console access management and service role setup.
    9. AWS-Lambda
      Serverless functions for data acquisition and analysis.
    10. AWS-CloudWatch
      Used to schedule lambda functions.
    11. AWS-SES
      Used as email notification service provider.