app
app copied to clipboard
Implement Tags for Projects
Description:
In Milestone 1, we want to implement a tagging system for projects. This will allow organizations to categorize their projects more effectively and help users discover and explore projects based on their interests.
Requirements:
- Create a Tag model with the following attributes:
- Id (Guid)
- Name (String) (required, max length: 128)
- Create a many-to-many relationship between Tag and Project using an intermediary table ProjectTag with the following attributes:
- ProjectId (Guid)
- Project (Project)
- TagId (Guid)
- Tag (Tag)
- Develop a UI for organizations to:
- Add, edit, and remove tags associated with their projects
- View tags associated with their projects
- Implement backend logic to handle CRUD operations for tags.
Acceptance Criteria:
- Tag model is created with the required attributes.
- Many-to-many relationships are established between Tag and Project.
- Organizations can add, edit, and remove tags associated with their projects.
- Backend logic handles CRUD operations for tags.
Notes:
- Please ensure that the UI design is consistent with the overall application design.
- Make sure to properly handle user permissions when allowing access to tags.
- Don't forget to write tests to verify the implemented functionality.