keanacobarde / INDIVIDUAL-ASSIGNMENT-Team-Roster

0 stars 0 forks source link

STRETCH TWO - MULTIPLE TEAMS #18

Open keanacobarde opened 1 year ago

keanacobarde commented 1 year ago

User Story

I, as the user, should be able to create multiple teams. A team can either be public or private. A member can only be on one team. A member should be able to be updated/added to another team. I should be able to perform full CRUD on the teams as well.

Acceptance Criteria

AS PULLED FROM THE STRETCH GOALS

[STRETCH 2]
Now that we have an application that can create a single team roster, we want to expand the application to be able to have multiple teams. You will need to update your ERD for this relationship.

Note:

A team can be public or private
A member can only be on one team
A member should be able to be updated/added to another team
[Routing (you will need to refactor)](https://github.com/keanacobarde/INDIVIDUAL-ASSIGNMENT-Team-Roster/blob/main/INSTRUCTIONS.md#routing-you-will-need-to-refactor)
As an authenticated user, if I click the TEAMS link in the navbar, I should navigate to '/teams' and see an h1 tag that says 'Teams'.
As an authenticated user, if I click the NEW link in the navbar, I should navigate to '/new' and see an h1 tag that says 'Add a Team'.
As an authenticated user, if I click the MEMBERS link in the navbar, I should navigate to '/members' and see an h1 tag that says 'Members'.
As an authenticated user, if I click the View link on the Team card, I should navigate to '/team/{{TEAMID}}' and see the members on that team
[UPDATE Members](https://github.com/keanacobarde/INDIVIDUAL-ASSIGNMENT-Team-Roster/blob/main/INSTRUCTIONS.md#update-members-1)
As an authenticated user, I should be able to update the team that a member is assigned to
[READ Members](https://github.com/keanacobarde/INDIVIDUAL-ASSIGNMENT-Team-Roster/blob/main/INSTRUCTIONS.md#read-members-1)
As an authenticated user, I should be able to see the member's assigned team on the member cards
[CREATE Teams](https://github.com/keanacobarde/INDIVIDUAL-ASSIGNMENT-Team-Roster/blob/main/INSTRUCTIONS.md#create-teams)
As an authenticated user, I should be able to click the NEW link in the navbar that displays a form to add a new team.
As an authenticated user, when I fill out the form and submit a new Team should be created in firebase and should now show in my Teams view.
[READ Teams](https://github.com/keanacobarde/INDIVIDUAL-ASSIGNMENT-Team-Roster/blob/main/INSTRUCTIONS.md#read-teams)
As an authenticated user, on the home view, instead of members, I should see all my teams with an affordance to view details on each card
As an authenticated user, I should be able to see the Team view with all the teams I have created.
As an authenticated user I should not be able to see teams that were created by another user.
[UPDATE Teams](https://github.com/keanacobarde/INDIVIDUAL-ASSIGNMENT-Team-Roster/blob/main/INSTRUCTIONS.md#update-teams)
As an authenticated user, I should be able to see an edit button on each team card.
As an authenticated user, when I click the edit button I should see a form with the team information pre-populated in the form.
As an authenticated user, I should be able to edit the information in the form and hit the submit button.
As an authenticated user, when I submit the edit form firebase should be updated (PATCH request) and the Teams view should update
[DELETE Teams](https://github.com/keanacobarde/INDIVIDUAL-ASSIGNMENT-Team-Roster/blob/main/INSTRUCTIONS.md#delete-teams)
As an authenticated user, I should see a delete button on each team.
As an authenticated user, when I click a delete button that team as well as all members on that team should be removed from firebase and the Team view should update.

THE UPDATED ERD SHOULD REFLECT THAT OF THE TEAMS AS WELL.

Dependencies

All of the test data will need to be created for the members. However, test data will also need to be created for the teams. All the existing members within the firebase should belong to a specific team. That sample data needs to be updated to reflect that. This ticket may be dissected into two separate issues, reflecting how the members CRUD was separated. Those issues will reference this one when created.

Dev Notes

The routes created for individual members will need to be modified slightly. There will need to be:

Full CRUD functionality must exist for the teams. The file structure will mirror that of the members. image

Members will keep its functionality. You can create new members, but you need to specify what Team they should be a part of.

keanacobarde commented 1 year ago

image

DRAFT OF ERD FOR RELATIONSHIP BETWEEN MEMBER AND TEAMS