Inspiration
Disaster relief can be a tricky topic to go about. Especially in the case when it comes to people displaced from their homes. Local organizations exist which connect people to available shelters, however this process may take some time for someone who needs immediate relief. Apps like Airbnb allow others to provide housing, but at a cost. To find the best solution between the two, I came up with ShelterShare.
What it does
ShelterShare is an iOS mobile app which aims to make finding shelter in a crisis quick and manageable. It works by allowing people to crowdsource shelters for those who are displaced. The app supports two types of users: displaced people and those providing shelters. As someone who is displaced, I can input my information and get back a list of shelters that a near me. I can then choose one to join which will send my contact information over to the shelter owner. As a shelter owner, I can set up a shelter for others to join. This can be my house, a library, a store, you name it. I can specify how many people can join my shelter then keep track of people who have joined my shelter as they sign up. All in all, ShelterShare is an accessible relief-aid for those in need of a place to stay.
How I built it
ShelterShare is powered by Swift and its UIKit framework and is made for iOS mobile devices. The backend is handled through a NoSQL database managed by Firebase's Firestore database. Users are authenticated through Google Sign-In which is then linked to the database. The database allows for reading/writing of shelter, shelter provider, and shelter seeker data. I also used CoreLocation to find the distance between the user's current location and the nearest shelter. My dependency manager was CocoaPods and IDE was Xcode. I also drew all the buttons and much of the UI using Photoshop (excluding the sunflower background, heart, and default user profile picture).
Challenges I ran into
The main challenge I had as a solo developer was time. I had a lot more features and functionality planned, but didn't want to run out of time. Another challenge I had was setting up Google Sign-In as I had no experience with that. I was also very rusty with Firestore as I only used it very briefly before.
Accomplishments that I'm proud of
I am proud that I learned how to use serverless technology more efficiently being Firestore. I also enjoyed learning Google Sign-In as I think it can be a good tool for future projects. Most of all, I am proud to have made my first app which involves multiple users. All of my other apps have been for solo users, but I have finally grown more as a developer enough to where I can start dabbling more into cloud technology.
What I learned
I learned how to integrate two types of users into an app, become more familiar with Firestore, and learned how Google Sign-In works.
What's next for ShelterShare
Some features to add would be the ability for shelter owners to add more than one shelter and for that shelter to be outside of their current location. Also a feature for in-app messaging between shelter owners, shelter seekers, and whole groups. Finally, support for iPad, Android, and public release would be the ultimate goal.
Log in or sign up for Devpost to join the conversation.