MongoDB being used inside the java app
Google Cloud platform being used for Cloud Vision API
MongoDB Atlas with the AI data from GCP
AI data returned from MongoDB (unformatted)
After doing research on the biggest problems people face when it comes to natural disasters, I realized it could make a huge difference if people had the proper technological tools to handle the most common issues. I developed software that first responders and local governments can use to evaluate the impact of the disaster, and a phone application that residents can use to quickly see what's going on.
What it does
The Java software for first responders and local governments scrapes social media by hashtag or a list of residents, scans the images uploaded which can be sorted by date, uses AI to evaluate what's going on in the pictures, sends the data from Google Cloud Platform to MongoDB Atlas, and then sends the data to the java application to be viewed by the user.
The phone application allows residents to see local news stories quickly, request items, request assistance, see if other neighbors are meeting up, and see who else needs help and if they can help themselves.
How I built it
I used Java for the first responder software, Maven to use the MongoDB, Jackson and JSON repositories, and Google Cloud Platform and MongoDB to handle the movement of the scraped images and AI scanned data in the cloud.
I used Xcode and Swift to make the phone application, which uses Google Firebase for a login system (logging in isn't required but helpful), and has a Feed, Assistance, Meetings and Settings pages. I used CocoaPods to use Firebase in the application.
Challenges I ran into
I never have programmed for a database before in the cloud, never have done anything with AI or any scraping of anything online. I only had Java experience and iOS app experience from previous HackPSU's. I was somehow able to get the AI to work, send data to MongoDB, and bring that data back to the java application to be viewed by the user. I slept just under 3 hours.
Accomplishments that I'm proud of
The AI actually scans the pictures and returns the resulting keywords and how likely they are true to the Java application after the scraped images are uploaded and processed. The software package gives everyone a tool to use during a natural disaster and for recovery.
What I learned
I learned how to work with a MongoDB Atlas database and the collections. I learned how to connect Google Cloud Platform to MongoDB, and how to connect MongoDB to a Java application for the movement of data. I learned how to use Google's Cloud Vision API.
What's next for Disaster Relief & Recovery Application (DRRA)
If both sides are finished, the application could prove extremely useful for residents, especially if the Twilio text messaging service could be implemented for returning updates on the situation without internet access. The first responder software can be used to quickly evaluate the situation of local areas in minutes.