Inspiration
We (Jena and Jonathan) both interned in new cities last summer! Looking for summer housing is a huge pain for most Caltech students, so a seamless way to see who else would be in the same city as you would've helped us so much when looking for roommates!
What it does
Students must sign up with their Caltech emails, can select which neighborhoods they will be living in / want to live in, and view other students all on an interactive map. A caltech email address is required for privacy reasons.
How we built it
We used Next.js as our main web framework. We used Firebase for authentication. We used MongoDB to store user profile data. We used the simplemaps US neighborhoods database for neighborhood boundaries. We used the Mapbox API to display the interactive map. We deployed with Vercel.
Challenges we ran into
How to represent neighborhood boundaries. We looked at many APIs, but they were all very expensive and only had enterprise options. We decided that using a database we found online of the top 25 US cities, with neighborhoods represented, would be sufficient for the hackathon. Eventually, we want to expand to more cities. We represent each neighborhood using pins on the map.
Accomplishments that we're proud of
- Linking multiple databases together -- connecting Firebase authentication with Mongodb for profiles, as neither of us had ever done this before
- Leveraging the Mapbox API to make it interactive and add pins -- neither of us have ever used it before and there was a steep learning curve, especially implementing it into our NextJS frontend
What we learned
- Leveraging a new API quickly and efficiently (Mapbox)
- Authorization and authentication, specifically handling different permissions on different pages (eg toggling the edit profile button only for the logged in user)
What's next for Cumble
- Expanding to more cities
- Getting the entire community to be early adopters 😎
- Expanding to other colleges
- Authentication for student’s enrollment status. This can be done by sending a confirmation email to verify that the user actually owns the suggested email address, or by incorporating Shibboleth and other existing institution authentication systems (for other schools)
Log in or sign up for Devpost to join the conversation.