Last active
August 30, 2023 23:15
-
-
Save Kimeiga/700535e641980e5df5a32350289b5f6c to your computer and use it in GitHub Desktop.
draft 1 of ruumii questions
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const questions = [ | |
{ | |
type: 'text', | |
you: { | |
question: 'What is your name?', | |
id: 'name' | |
} | |
// autofill with name from google account | |
}, | |
{ | |
id: 'age', | |
you: { | |
question: 'How old are you?', | |
type: 'number' | |
}, | |
preference: { | |
question: 'What age range would you prefer to room with?', | |
type: 'bounds', | |
bounds: [0, 100], | |
default: [16, 30] | |
} | |
}, | |
{ | |
id: 'gender', | |
you: { | |
type: 'choice', | |
question: 'What is your gender?', | |
options: ['Male', 'Female', 'Non-binary', 'Prefer not to say'], | |
other: true | |
}, | |
preference: { | |
type: 'select', // choice = radio button, select = checkbox | |
question: 'What genders would you prefer to room with?', | |
options: ['Male', 'Female', 'Non-binary', 'Other'] | |
// here we are collapsing "other" and "prefer not to say" into just "Other" | |
} | |
}, | |
{ | |
id: 'orientation', | |
you: { | |
type: 'choice', | |
question: 'What is your sexual orientation?', | |
options: ['Heterosexual', 'Homosexual', 'Prefer not to say'], | |
other: true | |
}, | |
preference: { | |
type: 'select', | |
question: 'What sexual orientations would you prefer to room with?', | |
options: ['Heterosexual', 'Homosexual', 'Other'] | |
} | |
}, | |
{ | |
id: 'location-preference', | |
preference: { | |
type: 'choice', | |
question: 'Where do you want to live?', | |
subtitle: 'Choose all that apply', | |
options: [ | |
'San Francisco City', | |
'SF Bay Area', | |
'New York', | |
'Los Angeles', | |
'Seattle', | |
'San Diego', | |
'Toronto', | |
'Chicago', | |
'London', | |
'Tokyo', | |
'Seoul' | |
], | |
other: true // other adds a text input | |
}, | |
you: { | |
type: 'text', | |
question: 'Where do you live right now?', | |
optional: true // optional adds a "skip" button | |
} | |
}, | |
{ | |
id: 'move-in-date', | |
you: { | |
multi: true, | |
1: { | |
type: 'date', | |
question: 'When do you want to move in?', | |
subtitle: 'This is the date you want to move in, not the date you want to start looking', | |
default: new Date() | |
}, | |
2: { | |
type: 'number', | |
question: 'How many months do you want to stay?', | |
default: 12 | |
} | |
} | |
}, | |
{ | |
id: 'rent', | |
you: { | |
type: 'bounds', // for lower and upper bounds | |
question: 'What are you willing to pay for rent per month?', | |
subtitle: 'This is you individually, not the entire apartment', | |
bounds: [0, 6000], | |
default: [1000, 2000] | |
} | |
}, | |
{ | |
id: 'occupation', | |
you: { | |
multi: true, | |
1: { | |
type: 'text', | |
question: 'What is your occupation?', | |
subtitle: "or projected occupation, if you're a student" | |
}, | |
2: { | |
type: 'choice', | |
question: 'Are you currently employeed?', | |
options: ['Yes', 'No, Student', 'No, Unemployed'] | |
}, | |
3: { | |
type: 'text', | |
question: 'Where do you work?', | |
optional: true | |
} | |
} | |
}, | |
{ | |
id: 'cleanliness', | |
you: { | |
type: 'range', | |
question: 'How clean are you?', | |
subtitle: '1 means I tend to let things get messy, 5 means I make everything spotless', | |
bounds: [1, 5], | |
default: 3 | |
}, | |
preference: { | |
type: 'range', | |
question: 'How clean must your roommates be?', | |
subtitle: | |
"1 means it's ok for things to be messy, 5 means everything must always be spotless", | |
bounds: [1, 5], | |
default: 3 | |
} | |
}, | |
{ | |
id: 'guests', | |
preference: { | |
multi: true, | |
1: { | |
type: 'range', | |
question: 'Are you ok with guests coming over?', | |
subtitle: | |
"1 means never, 5 means every day.\n'Guests' means anyone who doesn't live in the apartment, including your or other roommates' significant others", | |
bounds: [1, 5], | |
default: 3 | |
}, | |
2: { | |
type: 'range', | |
question: 'Can they stay overnight?', | |
subtitle: '1 means never, 5 means every day.', | |
bounds: [1, 5], | |
default: 3 | |
} | |
}, | |
you: { | |
multi: true, | |
1: { | |
type: 'range', | |
question: 'How often will you have guests over?', | |
subtitle: | |
"1 means never, 5 means every day.\n'Guests' means anyone who doesn't live in the apartment, including your or other roommates' significant others", | |
bounds: [1, 5], | |
default: 3 | |
}, | |
2: { | |
type: 'select', | |
question: 'Who are these guests?', | |
options: ['Friends', 'Boyfriend', 'Girlfriend', 'Other significant other', 'Family'], | |
other: true | |
} | |
} | |
}, | |
{ | |
id: 'parties', | |
preference: { | |
type: 'range', | |
question: 'Is it ok for your roommates to have parties?', | |
subtitle: '1 means never, 5 means every day.', | |
bounds: [1, 5], | |
default: 3 | |
}, | |
you: { | |
type: 'range', | |
question: 'How often do you want to have parties?', | |
subtitle: '1 means never, 5 means every day.', | |
bounds: [1, 5], | |
default: 3 | |
} | |
}, | |
{ | |
id: 'sleep', | |
you: { | |
type: 'range', | |
question: 'When do you sleep?', | |
subtitle: '1 = 8pm, 2 = 10pm, 3 = 12am, 4 = 2am, 5 = 4am', // for this, we should have the range slider have ticks... | |
bounds: [1, 5], | |
default: 3 | |
}, | |
preference: { | |
type: 'range', | |
question: 'By when would you prefer your roommates to be asleep?', | |
subtitle: '1 = 8pm, 2 = 10pm, 3 = 12am, 4 = 2am, 5 = 4am', | |
bounds: [1, 5], | |
default: 3 | |
} | |
}, | |
{ | |
id: 'smoke', | |
you: { | |
multi: true, | |
1: { | |
type: 'range', | |
question: 'Do you smoke?', | |
subtitle: | |
'1 = no, never, 2 = a few times a year, 3 = once a month, 4 = every other weekend, 5 = each weekend', | |
bounds: [1, 5], | |
default: 1 | |
}, | |
2: { | |
type: 'select', | |
question: 'If so, what do you smoke?', | |
options: ['Cigarettes', 'Weed', 'Vape', 'Hookah', 'Other'], | |
other: true, | |
// should be conditional on the first one being 2 or higher | |
condition: 'you.1 >= 2' | |
} | |
}, | |
preference: { | |
type: 'choice', | |
question: 'Are you ok with your roommates smoking?', | |
options: ['Yes', 'No', 'Only outside', 'Only in their room'] | |
} | |
}, | |
{ | |
id: 'alcohol', | |
you: { | |
type: 'range', | |
question: 'How often do you drink alcohol?', | |
subtitle: | |
'1 = no, never, 2 = a few times a year, 3 = once a month, 4 = every other weekend, 5 = each weekend', | |
bounds: [1, 5], | |
default: 3 | |
}, | |
preference: { | |
type: 'choice', | |
question: 'Are you ok with your roommates drinking alcohol?', | |
options: ['Yes', 'No'] | |
} | |
}, | |
{ | |
id: 'closeness', | |
preference: { | |
type: 'range', | |
question: 'How close do you want to be with your roommates?', | |
subtitle: | |
"1 = I wanna just live with y'all but do my own things, 5 = I want to hang out a lot, play games, go out together, etc", | |
bounds: [1, 5], | |
default: 3 | |
} | |
}, | |
{ | |
id: 'animals', | |
you: { | |
type: 'select', | |
question: 'Will you be bringing any pets?', | |
options: ['Cat', 'Dog', 'Rabbit', 'Hampster', 'Bird', 'Fish'], | |
other: true | |
}, | |
preference: { | |
multi: true, | |
1: { | |
type: 'choice', | |
question: 'Do you have any pet allergies?', | |
options: ['Cat', 'Dog', 'Rabbit', 'Hampster', 'Bird', 'Fish', 'No'], | |
default: 'No' | |
}, | |
2: { | |
type: 'range', | |
question: 'How ok are you with your roommates bringing pets?', | |
subtitle: '1 = not at all, 5 = totally', | |
bounds: [1, 5], | |
default: 3 | |
} | |
} | |
}, | |
{ | |
id: 'cooking', | |
you: { | |
type: 'range', | |
question: 'How often do you cook?', | |
subtitle: | |
'1 = never, 2 = a few times a year, 3 = once a month, 4 = every other week, 5 = every day', | |
bounds: [1, 5], | |
default: 3 | |
}, | |
preference: { | |
multi: true, | |
1: { | |
type: 'range', | |
question: "Preference for your roommate's use of the kitchen?", | |
subtitle: | |
"1 = it's ok if the kitchen is messy, 5 = everything must be put away immediately after use", | |
bounds: [1, 5], | |
default: 3 | |
}, | |
2: { | |
type: 'range', | |
question: 'Is it ok if your roommates eat your food/use your groceries?', | |
subtitle: '1 = never, 5 = always', | |
bounds: [1, 5], | |
default: 3 | |
} | |
} | |
}, | |
{ | |
id: 'temperature', | |
preference: { | |
type: 'range', | |
question: 'What temperature would you prefer to keep the apartment at?', | |
subtitle: | |
'1 = 66F (), 2 = 68F (), 3 = 70F (21.1C), 4 = 72F (23.9C), 5 = 74F (26.7C), 6 = 76 (24.4C), 7 = 78F (25.6C)', | |
bounds: [1, 7], // for this one definitely try to get a range with ticks, and try having it do 60F - 80F | |
default: 3 | |
} | |
}, | |
{ | |
id: 'ethnicity', | |
you: { | |
multi: true, | |
1: { | |
type: 'choice', | |
question: "What's you ethnicity?", | |
options: [ | |
'White/European Descent', | |
'Black/African Descent', | |
'East Asian', | |
'South Asian', | |
'Hispanic/Latino', | |
'Pacific Islander', | |
'Middle Eastern', | |
'Native American', | |
'Near Eastern', | |
'Central Asian' | |
], | |
other: true | |
}, | |
2: { | |
type: 'text', | |
question: 'More detail (optional)', | |
optional: true | |
}, | |
3: { | |
type: 'text', | |
question: "What's your nationality (optional)", | |
default: 'American', | |
optional: true | |
} | |
}, | |
preference: { | |
type: 'select', | |
question: 'Would you prefer your roommates be some ethnicity?', | |
options: [ | |
'White/European Descent', | |
'Black/African Descent', | |
'East Asian', | |
'South Asian', | |
'Hispanic/Latino', | |
'Pacific Islander', | |
'Middle Eastern', | |
'Native American', | |
'Near Eastern', | |
'Central Asian' | |
], | |
openToAll: true, // when this flag is set in a select or choice for preferences, it adds an option for "Open to all" | |
default: 'openToAll' | |
} | |
}, | |
{ | |
id: 'student', | |
you: { | |
type: 'text', | |
question: 'Are you a student? If so, where?', | |
na: true, // this adds an option for "N/A" to the choice | |
default: 'N/A' | |
}, | |
preference: { | |
type: 'choice', | |
question: 'Would you prefer to room with another student?', | |
options: ['Yes', 'No', 'Does not matter'], | |
default: 'Does not matter' | |
} | |
}, | |
{ | |
id: 'religion', | |
you: { | |
type: 'choice', | |
question: 'Do you have religious beliefs?', | |
options: [ | |
'Christian (Protestant)', | |
'Catholic', | |
'Muslim', | |
'Jewish', | |
'Hindu', | |
'Buddhist', | |
'Sikh', | |
'Taoist', | |
'Shinto', | |
'Atheist', | |
'Agnostic' | |
], | |
other: true, | |
preferNotToAnswer: true, // adds an option for "Prefer not to answer" | |
default: 'preferNotToAnswer' | |
}, | |
preference: { | |
type: 'choice', | |
question: 'Do you have a preference for your roommates religious beliefs?', | |
options: ['Prefer same to mine', 'Prefer not religious', 'Does not matter'], | |
default: 'Does not matter' | |
} | |
}, | |
{ | |
id: 'food-preference', | |
you: { | |
type: 'choice', | |
question: 'Do you have any dietary restrictions?', | |
options: ['Vegetarian', 'Vegan', 'Kosher', 'Halal', 'Gluten-free', 'Pescatarian'], | |
other: true, | |
na: true, | |
default: 'N/A' | |
}, | |
preference: { | |
type: 'choice', | |
question: 'Do you have a preference for your roommates dietary restrictions?', | |
options: [ | |
'Prefer same as mine', | |
'Prefer not having dietary restrictions', | |
'Does not matter' | |
], | |
default: 'Does not matter' | |
} | |
}, | |
// personality time | |
{ | |
id: 'extraversion-introversion', | |
you: { | |
type: 'range', | |
question: 'How extroverted are you?', | |
subtitle: | |
'1 = I prefer to be alone, 2 = I prefer to be alone but I like hanging out with people sometimes, 3 = I like hanging out with people sometimes, 4 = I like hanging out with people a lot, 5 = I prefer to be with people', | |
bounds: [1, 5], | |
default: 3 | |
}, | |
preference: { | |
type: 'range', | |
question: 'How extroverted do you want your roommates to be?', | |
subtitle: | |
'1 = I prefer to be alone, 2 = I prefer to be alone but I like hanging out with people sometimes, 3 = I like hanging out with people sometimes, 4 = I like hanging out with people a lot, 5 = I prefer to be with people', | |
bounds: [1, 5], | |
openToAll: true, | |
default: 'openToAll' | |
} | |
}, | |
{ | |
id: 'sensing-intuition', | |
you: { | |
type: 'range', | |
question: | |
'How do you take in information? (Sensing vs Intuition on the Myers Briggs scale)', | |
subtitle: | |
'1 = Prefers real information coming from the five senses. Focuses on what is real., 5 = Prefers information coming from associations. Focuses on possibilities and what might be.', | |
bounds: [1, 5], | |
default: 3 | |
}, | |
preference: { | |
type: 'range', | |
question: 'How do you prefer your roommates take in in information?', | |
subtitle: | |
'1 = Prefers real information coming from the five senses. Focuses on what is real., 5 = Prefers information coming from associations. Focuses on possibilities and what might be.', | |
bounds: [1, 5], | |
openToAll: true, | |
default: 'openToAll' | |
} | |
}, | |
{ | |
id: 'thinking-feeling', | |
you: { | |
type: 'range', | |
question: 'How do you make decisions? (Thinking vs Feeling on the Myers Briggs scale)', | |
subtitle: | |
'1 = Steps out of situations to analyze them dispassionately. Prefers to make decisions on the basis of objective logic. 5 = Steps into situations to weigh human values and motives. Prefers to make decisions on the basis of values.', | |
bounds: [1, 5], | |
default: 3 | |
}, | |
preference: { | |
type: 'range', | |
question: 'How do you prefer your roommates make decisions?', | |
subtitle: | |
'1 = Steps out of situations to analyze them dispassionately. Prefers to make decisions on the basis of objective logic. 5 = Steps into situations to weigh human values and motives. Prefers to make decisions on the basis of values.', | |
bounds: [1, 5], | |
openToAll: true, | |
default: 'openToAll' | |
} | |
}, | |
{ | |
id: 'judging-perceiving', | |
you: { | |
type: 'range', | |
question: | |
'How do you approach the outside world? (Judging vs Perceiving on the Myers Briggs scale)', | |
subtitle: | |
'1 = Prefers to live life in a planned and organized manner. Enjoys coming to closure and making a decision. 5 = Prefers to live life in a spontaneous and adaptable way. Enjoys keeping options open.', | |
bounds: [1, 5], | |
default: 3 | |
}, | |
preference: { | |
type: 'range', | |
question: 'How do you prefer your roommates approach the outside world?', | |
subtitle: | |
'1 = Prefers to live life in a planned and organized manner. Enjoys coming to closure and making a decision. 5 = Prefers to live life in a spontaneous and adaptable way. Enjoys keeping options open.', | |
bounds: [1, 5], | |
openToAll: true, | |
default: 'openToAll' | |
} | |
}, | |
{ | |
id: 'communication-style', | |
you: { | |
type: 'range', | |
question: 'What is your communication style, especially when resolving conflict?', | |
subtitle: "1 = I'm direct and to the point, 5 = I'm indirect and subtle", | |
bounds: [1, 5], | |
default: 3 | |
}, | |
preference: { | |
type: 'range', | |
question: | |
'What communication style do you prefer your roommates have, especially when resolving conflict?', | |
subtitle: "1 = I'm direct and to the point, 5 = I'm indirect and subtle", | |
bounds: [1, 5], | |
openToAll: true, | |
default: 'openToAll' | |
} | |
}, | |
{ | |
id: 'hobbies', | |
you: { | |
type: 'long-text', // should be a select i think..., or a select with a text input like that one js project i forgot but it was in the js newsletter a while ago | |
question: 'What are your hobbies?', | |
optional: true | |
}, | |
preference: { | |
type: 'long-text', | |
question: 'Are there hobbies you would like to have in common with your roommates?', | |
optional: true | |
} | |
}, | |
{ | |
id: 'bio', | |
you: { | |
type: 'long-text', | |
question: 'Tell us about yourself and why you would be a good person to live with!', | |
optional: true | |
} | |
} | |
]; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment