Inspiration
As some members of our group were incoming freshmen this year, they shared their experiences about the process of finding a roommate on a new campus full of strangers. The current solution the campus has to offer is an Instagram account in which students can post pictures of themselves and write a brief bio. Then can then sift through posts to try to find potential roommates. The issue is that there are thousands of students that post, meaning that your post may be lost in the shuffle. It is inefficient and difficult to use for any average student. This led us to think about the ease of dating apps and their ability to shuffle through a large number of profiles. We decided to apply a similar idea to this program, gearing it towards finding a roommate instead of a romantic partner.
What it does
Roommate Finder allows you to create a profile through your email. You can then edit it to add your pronouns, location, preference statements, conversation starters and a profile picture. In the main page, there are matching, matches and chat tabs. In the matching page, you may go through various profiles to decide whether or not you want to accept the person or not. If they accept you back, that person becomes a match. You can then view these in the matches tab. Finally, you can go to the chats tab to have a conversation with your matches.
How we built it
We built this program through Next.js with Tailwind for the front end and MongoDB for the backend capabilities. We started by creating static framework front end pages, then connected and applied the backend.
Challenges we ran into
The biggest challenge we ran into was in connecting the database to the front end. Especially with the images and GridFS, the API routes sometimes turned up with 404 not found errors. This challenge is still a work in progress. Our method for problem solving is getting multiple perspectives on the code. These inputs are helping us troubleshoot the connection errors. We have also added status statements to try to pinpoint the point that the code fails and debug.
Accomplishments that we're proud of
We are proud of the layout and design of the web app, as well as our emphasis on the privacy of the program. The use of the JSON web tokens ensure only authorized users can access the program. As privacy is highly emphasized by corporations, we saw the value of learning it and thus, incorporated it into our design.
What we learned
We all learned new coding languages and techniques throughout the course of this project. Some of us had knowledge of web development, but all used MongoDB and Next.js specifically for the first time. Additionally, we learned a lot about the purposes and designs of APIs for various aspects of the program.
What's next for Roommate Finder
As we continue to develop Roommate Finder, we want to incorporate a machine learning aspect to make potential matches more accurate throughout the process. We also want to create an interest tagging feature. This would allow users to select specific interests that they may have in common with others at sign up. Finally, we want to expand usage to apartments so users can select which apartments in the area they are interested in.
Built With
- json-web-token
- mongodb
- next.js
- tailwind
Log in or sign up for Devpost to join the conversation.