Hazard Notification System

Stack: React, JavaScript, Python, Node.js, Amazone Web Services (AWS), Aurora Serverless (PostgreSQL), ArcGIS JS API

Posted on July 10, 2021

June 2021 - August 2021

To create a cloud web application and notification system for users to stay up to date with wildfires near their areas of interest.

User Flow
Users would select areas of interest (utility stations, field operations, campgrounds, etc,) and select a custom proximity distance for each point. This proximity distance (or buffer zone) indicates the maximum distance from the area of interest in which a user would like to be notified if a wildfire starts/changes status/moves closer to the area.

Web App Component
The web app component of the hazard notification system was an ArcGIS web map that showed users their areas of interest, the buffer zones of these areas, and the wildfires within these buffer zones (all with popup details). The UI for the project used React, ArcGIS JS API and AWS Amplify.

Notification System Component
Users would receive regular (twice a day) email updates of wildfires that had breached the buffer zones of their areas of interest. This list would include details of the specific wildfire and area of interest to communicate progress of the fires and their exact distance from the areas of interest. At this point the user had the choice about next steps for relief response. The notification system was created using Aurora Serverless, Lambdas, and AWS SNS.

Back End
The API called Lambdas (Python) which were used for a variety of tasks (including retrieving data and sending out updates). Aurora Serverless was used for the storage solution to allow for flexible pricing and variable amounts of data to be stored. Within the Aurora Serverless database PostGIS was used to perform complex geospatial calculations to determine when wildfires had breached the buffer zones for areas of interest. The wildfire data was gathered by scheduled lambdas that retrieved data from provincial wildfire monitoring sources. AWS Cognito was used to authorize and authenticate users when operating inside the app. Deployment and building of the project was done using AWS services including Code Commit, Code Build, and Code Deploy.

Project Results
The hazard notification system allowed users to visually see their areas of interest and the risk of wildfires around them on a map. They were also sent scheduled updates regarding wildfires around their areas of interest. This gave users a greater understranding of the risks their areas of interest were under and allowed them to make more accurate decisions regarding their wildfire relief response.

This was a full stack project that utilized React, JavaScript, Python, Node.js, Amazone Web Services (AWS), Aurora Serverless (PostgreSQL), ArcGIS JS API.

Copyright © 2022 Chad Dundas Smith and Creative Tim