Inspiration

Severe natural disasters in Australia in recent years have often been met with haphazard responses where Studying environmental politics and management, one of our group members did a research project on the 2022 Lismore floods and saw scope to address a gaping problem of emergency service's limit to handle a high volume of calls. Several people lost their lives in what could have been simple rescues. Meanwhile our team captain was stuck at home during the 2021 Shepparton floods and saw how community the Facebook page was used to create alerts and by people asking for help or supplies.

What it does

On My Way is an alternate way to connect people who can't get help when 000 is overwhelmed or have a non-urgent crises with emergency services or people in the community who can help. For example someone with a boat who could help an elderly person trapped at home during floods, or someone who can deliver food. On My Way is a map based platform where you can view emergency incidents across Australia or report your own. It is not a replacement for Triple Zero, but a back up.

How we built it

To build the backend, we started by creating a MongoDB database. From our designs we knew we would need a simple database to store details of each incident reported by users, and MongoDB seemed to be a good fit. We then worked backwards, creating a model that could add records to the database and a controller to use the model with our own JSON data. We tested this using Postman to send HTML requests from our local hosts. Then, we built a router to receive GET and POST commands from the frontend. Finally, we handled two separate GET requests:

  • Returning all incidents in order to display them on the map.
  • Returning all details about a specific incident from an ID. Once these APIs were all done, our backend was complete, and was ready to connect to the frontend.

The frontend was built in Angular using TypeScript, HTML, and CSS. The webpage for On My Way displays a map of Australia. This was done using the MapBox API, which allowed the frontend to display a map object akin to Google Maps. Through sending GET HTML requests to the backend, details of each incident could be received, allowing the frontend to use MapBox's API to display markers for each incident. This data would also be used to display additional data about a specific incident on a sidebar.

Challenges we ran into

When building On My Way we had some challenges as some members had never used Angular, Flask, Postman, or MongoDB before, so we had to learn these tools. Furthermore, we worked with the mapbox API for the first time, and the learning curve was a lot steeper then we expected. Moreover, we also struggled to deploy the app, as this was something we had little prior experience with. We went through both heroku and AWS services, and ultimately deployed the application in an S3 bucket hosted on AWS services

Accomplishments that we're proud of

The team is proud of our efforts in implementing HTML requests (with JSON), PyMongo, Angular and the MapBox API, all of which we had very little experience with. Most of our members knew little to none about Web Development, so we made great strides in improving those skills through building On My Way. Throughout the project our team was well-coordinated, delegating tasks between members, and assisting each other when we got stuck, leading us to a successful hackathon.

What we learned

Members of our group learned how to use HTML requests, PyMongo, MongoDB, Angular, the MapBox API, Postman, and Flask.

What's next for On My Way

  • After release, our first priority is to limit potential misuse of the platform. To achieve this, an AI system would be deployed to filter out fake incident reports.
  • Another consideration is that in an emergency, people may lose access to the internet. As such, we would create a text service that communicates with our database as an alternative access point.
  • We decided to develop On My Way as a website to maximise accessibility. In the future, we would like to also offer an On My Way mobile application, which would allow for shorter load times in areas with poor mobile data coverage.
  • Other functions we want to add include helping rescuers get in contact with those who need help, and the ability to add pictures to an incident.
Share this project:

Updates