New Discussion

Notifications

You’re not receiving notifications from this thread.

Help with a music listings website but I need help designing the models

1
Databases

I want to create a music listings website. Venues and musicians can have their own profile.

I want some of my users to be able to create listings. The people who create the listings could be a musician, venue or admin.

I want the listings to have their own page of event information but also link to a profile that shows additional info on the musician or venue.

The problem is that not every venue or musician will be signed up to the website. But I don’t want that to limit people from being able to create the event. Or for my users to be able to find events featuring musicians or events that aren’t currently a user on the website.

So i’d like a way for a profile to be created but then allow someone to apply for permission to take over that profile and turn it into a user.

I know how to make a user model and event model and link them together. But I can’t wrap my head around how I would get around the issue of creating profiles on the fly for users who don’t exist and then make it so that people could then turn that profile into a user by claiming it.

Could anyone give me some suggestions on how I would deal with this? Or suggest what I should look into to help me understand how to implement this kind of system.

You'll want to have a separate model for the profile (I guess a Venue or Musician model?), that way they can live on their own. You can have an optional "owner" which can determine if it's claimed or not.

For an unclaimed profile, you'll need to figure out some way of handling that. Obviously, you don't want random people taking over profiles so there would need to be some sort of verification process. You can probably have them submit some proof and you can manually approve it on the backend.

If you require someone to be signed in as a User, then they could submit a form to claim ownership of a Venue or Musician profile. When you "approve", it would just be assigning the owner_id column on the record to the User's ID basically. Does that help?

Join the discussion
Create an account Log in