Room[ease] is a roommate matching web application that helps users find compatible roommates in their area. After signing up, users take a quick compatibility survey about themselves and what they want in a roommate. Upon submitting, users are shown the top matches in their area sorted by compatibility percentage. Users have the option to email their matches in app.
-
Create a database called dom_test
mysql -u rootcreate database dom_test;
-
Adjust the config/config.json to fit your environment.
-
Install modules in package.json
npm install
-
Install sequelize cli globally to be able to run migrations on your computer:
npm install -g sequelize-cli
-
Start the app
npm start
Instead of being based on sameness, the room[ease] matching algorithm takes both a user's answers about themselves AND their preferences for potential roommates into consideration.
- All questions about the user were either/or. For example, the about personality asks, "Are you introverted or extroverted?"
- Questions about roommate preference have three options. For example: "Do you prefer a roommate who is introverted or extroverted?" There are three options for that: introverted, extroverted, and don't care.
- Based on these answers for this category, 2 users could be a 100%, 50%, or 0% match.
- After all 8 questions are completed, the percentages across the questions are averaged for a total compatibility percentage.
User 1: Extroverted, Don't Care User 2: Introverted, Introverted User 3: Extroverted, Extroverted
- User 1 and User 2 would have 50% compatibility. User 1's preferences would be met, but User 2's wouldn't be.
- User 2 and User 3 would have 0% compatibility. Neither users' preferences would be met.
- User 3 and User 1 would have 100% compatibility. Both users' preferences would be met.
Node, Express, MySQL, Sequelize, Handlebars.js, Nodemailer, jQuery, Bootstrap
- Colin McDaniel - colinmcdaniel
- Michelle Luo - luomichelle
- Stephanie Orpilla - stephorpilla
- Todd Croak-Falen - toddcf


