blackmann / compa

🌁 scoodent companion. Stay on top of tertiary school lifestyle with modern experiences.
https://compa.so
58 stars 19 forks source link

RFC: User Profiles #56

Closed blackprince001 closed 5 months ago

blackprince001 commented 7 months ago

Feature Request

Description

Introduction of User Profiles that give additional context to users on the platform.

Proposed Solution

Create a new user_profiles table with columns for the additional profile data we want to capture. This table would relate to the existing users table via a foreign key constraint on the user_id column.

Proposed user_profiles table schema:

Alternatives Considered

  1. Storing profile data as JSON in a column on the users table. This could get messy as the data grows.
  2. Creating separate tables for each type of profile data (bios, pictures, links, etc.). This seems overly complex.

Additional Context

Many users have requested the ability to provide more details about themselves beyond just a name and email address. User profiles would enhance the platform experience and allow users to represent themselves better.

This could also be useful for linking users to their respective timetables without looking them up all the time.

Possible Implementation Details

  1. Create the user_profiles table migration
  2. Add routes, controllers, and views for managing profile data
  3. Update user registration/onboarding to allow setting up a profile
  4. Give users the ability to edit their profile from their profile view.
blackmann commented 5 months ago

This commit https://github.com/blackmann/compa/commit/0e656c0addfc807ca4bd1c197544a5dc01bb08dc adds a bio field which is a simplified markdown and can capture other properties like links in a single text