You may not know, but homelessness and wealth inequality are huge problems in the bay area. Despite being the home of Silicon Valley, the Bay Area houses the 3rd largest homelessness population in the country, trailing behind only Los Angeles and New York. We want to assist in solving this problem.
What it does
Our android app, CitizenAid, allows organizations, charities and government facilities to expand their outreach and aid more citizens in a wider area. Citizens are able to more conveniently find these facilities and locations in order to get help.
How we built it
This project was built using a variety of tools. Our main app was built using Android Studio and Java as its language, aswell as implementing Google Maps API. This allowed us to create the different activities seen in our app and display all the different information we needed. The google maps API allowed us to accurately show facility locations and find the current location of the user. The backend we used was a LAMP stack where php code was written to interact with the mysql database. In our Android app, we sent different requests to the backend which both stored and retrieved data from it. In our app, we used a variety of different tactics to write cleaner code. For instance, we used OOP for the different types of users, facility locations, and popup descriptions. Through the project, we learned a lot about the different strategies in coding and this allowed us to gain a better understanding of Android apps and LAMP stacks, and most especially, Google Maps API.
Challenges we ran into
We are a new team, and we ran into a couple challenges early on in the project. The first challenge was when we had to set up a user database, which we did using mySQL and PHP. This was our first time using these resources and it took a while to figure it out. We spent hours to get the database online and up in the cloud. In addition to this, we struggled with many components in our app including the facility locations on Google Maps API. Sometimes the details popup was not displaying what we wanted it to display, and the refresh button wasn't working, so that took a lot of debugging before we finally solved the problem. The add facility location feature in our app also took some time to set up, as it needed to take information from the database in real time, and provide users with feedback. The latitude and longitude also had to be converted from strings into coordinates, and that caused some troubles. These challenges took us hours, and maybe even days, to overcome. However, we worked around the clock to ensure our product has the polish to meet the high quality standard we set for ourselves, and we are glad to present our app to you all.
Accomplishments that we're proud of
Since we are a new team, there was a lot to be proud of after finishing this project. This hackathon has given us so many opportunities we previously did not have. We were able to seize these opportunities, and achieve what we set out to do. Many of us are beginner hackers, and were not confident we would be able to produce a product of such vast scale, so finishing it was a great attainment for us. Another one of our biggest accomplishments was to set up a working database that was extremely efficient in storing user and facility information. This helped us implement many of the features that our app offers. For instance, we were able to implement the add facility location, which was very challenging to store and map.
What we learned
We learned many valuable skills in the process of developing our app. We learned how to use SQL Databases to store user and app data, how to use Adobe XD to implement and design professional UI, and how to use Google Maps API to find user location and mark coordinates.
What's next for CitizenAid
Due to the limited time frame we were given, there are still so many more features we would like to add to our app. We want to add a gps routing feature to the app, where citizens will be able to plot a route to the facility of their choice so they can receive aid. In addition, we want to have more profile customization for users, as well as a way for citizens to communicate with facilities. When a citizen clicks on a location, we want them to be able to see the overarching organization, such as Goodwill or the US Government, which runs the facility location, and provide the user details about the organization's mission and how to contact them by phone, email, or website. We want an organization to be able to create a profile page for all citizens to see and find out more about their mission and values.