Skip to content

paldeep-singh/FIT5120-TA16-Heat-Preparedness

Repository files navigation

Victoria Heat

This project was completed as part of the Industry Experience Studio Project for final semester postgraduate IT students from Monash University

We are a highly motivated team with a diverse range of skills and educational backgrounds. As a team we hoped to develop a project that will have a positive impact on the lives of others. Upon receiving our topic, we recognised that high temperatures are a growing public health concern in Australia, and we are determined to provide vulnerable individuals with the knowledge and resources they will need to safeguard their health. To that end, our site is targeted at elderly Victorians as we determined through our research they make up a large majority of the vulnerable population.

The final version of the web app be accessed from www.victoria-heat.ga

Note: the SSL certificate for the site is currently expired and the weather forecast does not work as the RDS database has been taken down to avoid charges.

Features

Heat Wave Notifications

The app will provide users web-push notifications for their chosen suburb, notifying them of heat waves in advance to give them ample time to prepare.

Heat Wave forecast

The app provides a temperature forecast for the next week for government district. Users are able to search for their suburbs to receive localised weather information. The forecast will highlight future heat waves.

Heat Readiness Quiz

The quiz asks users three questions to test their knowledge of heat waves and recommends them different sections of the website depending on their results.

Heat Wave Information

The site has two informative sections. The "Be Prepared" section contains advice for users to prepare for future heatwaves. The "On the Day" section contains advice that users need on the day of a heatwave.

Technology / Frameworks

We have constructed a web-app that targeted specifically at the elderly, to provide them with the crucial information they need to safeguard their own health during periods of extreme heat. We have utilised a three tier architecture, using Nodejs for the front-end and application server, and mySQL for the backend database. Specifically for the front-end we used ReactJS and for the application server we used ExpressJS.

Our front-end and application server are both hosted on an Amazon EC2 instance. We use an Nginx web server to deliver our site to users and to act as a reverse proxy for API calls. The application server only responds to a set of pre-defined requests, and upon receiving these requests, queries the database to obtain the required data, and return it to the user through the front-end. The mySQL database is hosted on the AWS RDS platform. The application server is also responsible for periodically checking weather data and sending out notifications to users as required.

List of Libraries/Packages Used

JavaScript library for building user interfaces.

React components based on Material Design.

HTTP client for browser and NodeJS. Used for making API calls from the front-end to the application server.

React component for streaming URLs. Used to display informative videos.

Animated scroll component for React. Used to implement realistic scrolling when navigating the page.

A web framework for Node.js. used to create the application server which receives and responds to specific requests with data from the database.

Web Server/Reverse Proxy. Set up on the AWS EC2 server to act as a reverse-proxy. Nginx verifies authentication details, handles ssl configuration and also redirects HTTP requests to HTTPS. As a reverse proxy, it is also able to redirect specific API calls to the application server which can then respond to the front-end with results from the database. The Nginx server also handles which iteration of the website a user is shown depending the on url that is used.

An echarts wrapper for React.

Node framework for dealing with environment variables securely.

Node framework for sending web push notifications.

Node framework for scheduling tasks.

NodeJS driver for mysql, used to connect to the database and run queries

Credits

The weather information we use is provided by OpenWeather under a Creative Commons Attribution-ShareAlike 4.0 International licence.

The definition of heat waves, preparations and other pieces of advice provided are all sourced from the Victorian State Government. You can access their extreme heat resources through the links provided below.

Health Victoria, Extreme Heat and Heatwaves

Better Health Channel, Survive the Heat

Advice on improving your home's cooling efficiency was sourced from Sustainability Victoria

Vector silhouettes for heat wave deaths were obtained from freevector.com and Vecteezy.

Statistics regarding deaths from heat waves were acquired from a study by Coates el al., 2014.

Weather icons were acquired from flaticon.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published