shortland / Foodie-Mates

Satisfy your Stomach & Wallet
0 stars 0 forks source link

Create onboard screen to collect profile info and criteria for restaurant recomendations #20

Open louishinohara opened 2 months ago

louishinohara commented 2 months ago

The onboard screen introduces users to the app with an optional short walkthrough (implement if there's time or after everything is complete). This is where we'll collect user preferences such as budget, cuisine, and number of people, saving this information to their profile. Users can also explore and save "advanced" criteria which will be optional (maybe try to squeeze this in). These preferences can be edited anytime through the account tab.

This information will be used to find restaurants tailored to their preferences when they open the app. The home screen will immediately display restaurant suggestions based on their profile. In the search section, their preferences will be auto-filled into the basic form fields, allowing them to add more advanced options to refine their search and get better restaurant recommendations.

shortland commented 2 months ago

@louishinohara we'd have to have a longer conversation so i can understand the requirements a bit more, or you'll need to create the DB tables so that I have a rough understanding of what you really want here

here's a primitive version of what im thinking right now, which will allow u to be flexible, but maybe this is too dumbed down, not sure tbh

CREATE TABLE IF NOT EXISTS preferences (
    preference_id INT AUTO_INCREMENT PRIMARY KEY,
    preference_name TEXT,
    user_id INT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);

CREATE TABLE IF NOT EXISTS preferences_values (
    id INT AUTO_INCREMENT PRIMARY KEY,
    preference_id INT,
    key TEXT,
    value TEXT,
    FOREIGN KEY (preference_id) REFERENCES preferences(preference_id)
);

basically 1 user can own many "preferences" and that "preferences" correlates to the "preferences_values" table...

so, e.g. ilan (user_id 3) has 2 rows in preferences table

louishinohara commented 2 months ago

Sorry by preference what I meant was more along the line of saving queries.

So 1 query for when your alone.

Another one for when your with friends.

This way the user don't have to enter all the details each time.