The main idea for this project was to make a platform that would streamline the communication between people who want to help and people who need help. As disasters are a frequent occurrence around the world, it is important to make a platform that brings support quickly to these disasters. At the same time, there are millions of people who need humanitarian aid in our communities every single day. There are a lot of people who want to help, but don't necessarily have the time or opportunity to easily exhibit this interest. As a result, we wanted to make a system that was able to quickly interface with those affected by disasters through a quick interface such as mobile or web, and also was able to take advantage of the interests of those who want to help these people.
"I Need Help" has a simple interface that allows users to both request and send help. People who need help can just tap "get help" and are then routed through a series of questions that include the urgency level and the specifics of the items they need. Through the "send help" button, users can select the items that are up for request that they can provide, and travel to the necessary location to drop off the needed items.
This application had two main parts - a web and mobile phone application. The back-end programming of both applications involved creating a Python-based Django framework, which is a platform that is most commonly used for the construction of database-driven applications. HTML was used to construct the web application, while a cross-platform SDK called Flutter which made use of the Dart programming language was used to make the mobile app. For the mobile app, we designed a flow chart that displayed all screens of the app that would be used, and constructed each page from beginning to end, in order of which the user would be using it.
One of the most challenging aspects of the mobile app development was learning the Flutter SDK and a completely new programming language to us - Dart. Though similar to Java in some aspects, Dart was still very much different from languages we already knew, and in addition, was specifically used for front-end development, an area we were already unfamiliar with.
Especially since we were very unfamiliar with front-end development, and had to learn a completely new programming language and SDK, probably the accomplishment we are most proud of is being able to learn and apply this new language and software development type in one day.
One of the most profound things we learned was just how much work goes into the development of one app. Even though we had a group of 5 people and were making a relatively simple app, it took us many hours to implement even basic functionality. More specifically, we learned how to use Dart and Android Studio to create an Android mobile application, as well as got more familiar with how to use Django and JSON to create a database framework.
The next steps for this application is to implement more functionality into the applications, such as maps integration and more aesthetic elements. Additionally, we'd like to implement AI and machine learning in some way to these applications, such as using AI to maximize the opportunities to help each other.