Need help designing a database for team creation, role assignment, and membership management via email notifications?

Can someone help with the database system design for the below user flow?

  1. Create Team: Only leaders
  2. Leader:
    1. set team
    2. set role
  3. Send email to creator for a new team and for signing up to the competition
  4. View/Manage Team:
  5. Leader:
    1. Lookup - team, members, role
    2. Add/invite member
    1. Send email to intended recipient
3. Remove member
  1. Member:
    1. Lookup - team, members, role
    2. Accepts invi via email
    1. Send email with instructions to come and click on join the team for that team name in the portal
3. Is Removed
  1. Send email to notify user they have been removed from a team
  1. Join Team:
  2. Member:
    1. sends a request to join the team
  3. Leader: views request in dashboard of manage team
    1. accepts
    1. Set member team
    2. set member role
    3. Send email to Team members and leader that someone joined the team
    4. Send email to Joinee that he has joined the team
2. rejects
  1. Send email to user that their request has been rejected by team leader

Set Team:

  1. Create team as leader
  2. member requests → leader accepts

Set Role:

  1. Create team as leader
  2. member requests → leader accepts

So what do you have so far? Or just thinking about the idea and haven’t constructed the tables?