Description as a Tweet:

This app helps coordinate thousands of rescue workers in the event of a large-scale natural disaster by creating a portal where rescue workers are optimally matched with rescue operations using factors like relative distance, type of rescue etc.

Inspiration:

During large scale natural disasters like earthquakes and floods, A lack of communication and coordination can exacerbate an already dire situation. This application aims to direct rescue workers from organizations like the Red Cross or any other relief group with the relevant skill sets to sites where they are most required to minimize loss of life and property.

What it does:

Utilizing factors like distance from rescue site, skill set and rescue priority number our algorithm finds the best possible match from the pool of available rescue workers and the sends them a message to proceed to their assigned rescue site. If the rescue is successful, the rescue worker notifies the application of their success and the worker is placed back into the pool of available rescue workers and can be sent a new assignment. To avoid fatigue, rescue workers are assigned shifts and are not assigned a new rescue operation outside their shift unless it has a priority number greater than 4.(the highest being 5)

How we built it:

We started the project by building the most important part, the algorithm and then worked out what our requirements were and what additional factors our app should take into consideration. We built our frontend accordingly and created a worker registration page, a work order page and a rescue status update page. We used mongoDB to store a database of rescue orders and rescue workers and used factors provided in entries from both database to find the most optimal match. On finding this match, we send the matched rescue worker a message using Twilio which provides the type of rescue and the location. We managed to make it operational from the database management to the final message being sent to the matched worker as can be seen in the picture provided.

Technologies we used:

  • HTML/CSS
  • Javascript
  • Node.js
  • Express
  • React
  • Misc

Challenges we ran into:

Most of us were relatively new to web development using Node, Express, React and MongoDB and we faced numerous challenges like the CORS policy errors caused by the fact that our frontend and backend were being hosted on different servers. We were finally able to solve these issues.

Accomplishments we're proud of:

This project solves a real world problem and has the potential to save lives in an emergency situation. We were able to accomplish this using what we learnt inside and outside the class and we believe this is something to be proud of.

What we've learned:

We learnt how to create a full stack application using MongoDB, express.js, react.js, node.js and Twilio. We learnt how to plan and build a large application and learnt a lot about coordination as we were in different locations and timezones. This was a valuable experience for us.

What's next:

The project can be further refined to make a better looking frontend, a more optimal algorithm that take other factors into account, perhaps making use of google map API's. We can explore modes of communication with rescue workers other than SMS as SMS might not always be an option given the extent of damage.

Built with:

This project was built using MongoDB, Express.js, React.js, Node.js and Twilio.

Prizes we're going for:

  • Best Web Hack
  • Best Beginner Software Hack
  • Best Beginner Web Hack

Team Members

animesh saxena
Gautam Chatterjee
Rahul Gajawada
Sahil Joshi

Table Number

Table TBD