SEng 18 Project 2
In this work, we have surveyed and examined the problems of communication gap and trust issues faced by current graduate students despite having social media groups to bond with each other for finding potential roommates. We look into the existing solutions developed and analyze the code as well as results in great details and propose an improved solution to solve this problem. We also demonstrate the inefficiencies of existing solutions and how we can modify those to improve the overall results. At the same time, we also propose radically different attributes and features that will help in making the application more dynamic, scalable, feature-rich and user-friendly.
The application can be accessed from here.
- Make sure
Node.JS
is installed and is working in your machine. (Check usingnode -v
). - Install
MongoDB
and start the server. - Clone the repo, using
git clone https://github.com/rikenshah/RoommateFinder
. - Change to that directory
cd RoommateFinder
. - Download node packages using
npm install && npm update
. - Add appropriate tokens in
.env
. The few things you will need are,SendBird_App_Id='Enter your sendbird app id here' SendBird_Api_Token='Enter your sendbird api token here' PORT=8080 MONGO_CONNECTION_STRING='Enter your mongo db url' GOOGLE_CLIENT_ID='Enter your google client id here' GOOGLE_CLIENT_SECRET='Enter your google client secret here' GOOGLE_CALLBACK_URL='Enter your google callback url'
- Start the application by typing
npm start
. This will start the server atlocalhost:8080
.
To give recommendations of the potential roommates to a user who is searching for one, we have used combination of K-means-clustering and k-nearest-neighbours algorithm. The goal of the combination algorithm was to reduce latency by increasing the performance of the system when the number of users in the system increases. The computational overhead can be significantly reduced by using such combination algorithm.
The application has an inbuilt chat where the users can chat with one another and can also do a group chat. The chat will help in easy communication between the roommates and the group chat will help if more than two roommates want to chat with one another.
The magicsauce API takes in a text (which corresponds to the summary section of user profile) and gives various personality parameters like agreeableness, neuroticism, openness, etc. This values enables us to go beyond the user input while providing them appropriate recommendations.
User can search across parameters like drinking habits, smoking habits, petfriendly, visitor friendly etc. We also made it optional to skip few fields and fill some. As per your filtering criteria, the search queries will be dynamically created and results will be fetched.
Riken Shah
Mateenrehan Shaikh
Himani Himani
Aaroh Gala
TA/Mentor : Ken Tu
Professor : Tim Menzies