Skip to content

[FEAT] Team Creation #32

@OverDsh

Description

@OverDsh

Before creating a project, users must create a team that will hold their projects. This provide a stable infrastructure to add collaboration and multiple user projects later on.

Frontend

When accessing the dashboard, user must be faced with a data table containing their different teams, a search box, and a create team button.
When clicking a team (column) in the data table, they must be taken to the projects page of that team.

Backend

Each team should hold a unique slug (My Team! -> my-team-f73h) with 4 letters UUID at the end to make it unique. This slug should be used to access the team in the URL (/dashboard/my-team-f73h) so it's human readable while staying unique. If there was a collision while creating the slug (UUID collision), the server should retry 3 times to create a new slug.

To make many to many relations between users and team, a team_members table must be created with each row holding a relation between a team and a user. To lookup all of the teams a user is in, just lookup in team_members where user_id equals the user's id. To lookup all of the users in a team, just lookup in team_members where team_id equals to the target team id.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions