I am a noob and would like some help with the erd for a website I am building. There are roles for the users that participate in the board. I'm not sure I have that down correctly.
I realize that I posted this erd when I was pretty tired and my explanation is not clear. Let me try this again:
A user creates a board for a friend. This user is automatically given the role as manager. The person they create the board for is given the role as owner.
Anyone the manager invites is given the role as guest.
Each user except the owner can leave messages on the board.
An email is sent to the guests with a token informing them that they have been invited and a link is given for them to go to the board. The email also contains the login information.
The token can be used once, so that is why I have a field in the contributions table called 'token_used'. The user will have to log in the next time.
I am using Ruby on Rails which allows me with some code to create a virtual table for friends. Because a user is a friend and a friend is a user. This way I can create the friendships table and have a virtual friend_id to differentiate the two.
I can't remove the id from the contributions table to user only the user_id and board_id because this table is more than a join table as it has other fields for more information. Rails needs an id for tables like this so I can do other things.
I would appreciate any feedback about this updated version and how I can improve it.
I have removed those duplicate fields and put the roles into another table. I changed the name of the participants table to contributions because I think it makes it clearer. Maybe not.
The board can have only one owner one manager but many guests.
I hope this was clearer.
Thanks for any feedback.