Inspiration

If you went outside at all last week, you'll know that there was recently a polar vortex that passed through the area. During this time, a post went viral on Facebook, claiming that 15 homeless people froze to death in Chicago due to a lack of shelter from the extreme temperatures. Although this claim was later proven to be false, this does not erase the fact that this problem does indeed exist. In urban areas, homeless shelters are often overcrowded, meaning that not everyone can be provided with shelter, even during extreme weather. We wanted to find a way to combat this overcrowding, by finding other places that can be used as a shelter for when the homeless shelter reaches capacity. Mr. Rogers, a Pittsburgh native, always preached about the importance of being a good neighbor and showing kindness towards others. With Mr. Roger's words in mind, we were inspired to create a site where good neighbors can open up their homes to those in need.

What it does

When the user enters the site they have the option to either search for a home or to offer a space in their home. If the user chooses to offer space in their home, they are first required to submit their address, so that it can be verified that the user is providing a space that they actually own and that can actually be used. Users then state just how many people they would be willing/have the space to host. The user can then input their preferences, stating if they have any amenities for disabilities or if they do not feel comfortable with hosting adults or children. After their preferences are added, they are added to an email list which notifies them when they have been matched to someone in need of shelter who will be staying with them. They will also receive emails during cases of extreme weather, asking if they will consider offering shelter during this time.

If the user chooses to search for a home, they will have a similar page where they will input their preferences. We are envisioning that shelters will use this site as the shelter becomes overcrowded, so they can fill out the information of whoever comes to them when they do not have space for them. They will list how many people they need a home for and if they have any disability needs. After their preferences are added in, the shelter will see a list of nearby "neighbors," which will include how many people they can fit and what amenities they offer. The shelter can then match those in need with the homes available, which will send an email to the homeowners who will be offering shelter.

How we built it

The website is built off a MEVN stack - meaning its uses MongoDB, Express, Vue, and Node as a full stack. In order to get location information, we used Microsoft's Azure API to fuzzy search and turn queries into street addresses. Then, also using the API, we were able to drop pins on the map.

The frontend forms were all built in Vue and store the data in a MongoDB running on MongoDB's Atlas service. When a person wants to add their home to the site, they fill out the form and their information is stored. When a shelter wants to request a home, they add certain parameters such as number of people, children, and accessibility needs. The project then queries the database and returns a list of places that are close to them and have all of their needs.

Challenges we ran into

Something that really important to us was having our site display a map that had the points where shelter was being offered. We used the Azure Map API, however, the way we incorporated it made it so that the map was not accurate enough to drop specific points. Because of this, we ended up having to use a different API, Open Street Map, to overwrite some of the Azure data in order to get accurate pins dropped on our map.

Accomplishments that we're proud of

Even though it was one of our biggest challenges, or perhaps because it was one of our biggest challenges, the map is one of our accomplishments from this project that we are most proud of.

What we learned

Although half of the team had used Vue.js before, it was quite the learning experience for the half that had not. Aside from this first time vue experience, we learned quite a bit about APIs and using different calls. We also learned different examples of user interface API calls, user interface

What's next for Won't You Be My Neighbor?

As positive as we tried to be with this project, the sad truth is that homeless shelter overcrowding is a real problem. We would genuinely love to work with nearby shelters and make this site live to attempt to solve this issue. Before we do that, we would love to be able to add photos of those in need of shelter, to help humanize the process of matching them with shelter.

Built With

Share this project:

Updates