Feature to add Tagging System to Projects
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 37.4k
- Forks
- 3k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 73
Description
What problem will this feature address?
I need to implement a scalable grouping system for 20+ projects within a single instance. Grouping by 'Client' is the primary requirement, but I’m looking for a flexible approach (e.g., tags, metadata, or dynamic views) rather than a rigid hierarchy.
Describe the solution you'd like
I propose implementing a Tagging System to allow for flexible project categorization. This would include:
Tag Management UI: An interface within the main project window to add, edit, or remove metadata tags (e.g., Client Name, Project Status, Department).
Global Filter Component: A UI element on the Projects Page to filter the list dynamically based on one or more selected tags.
UI Mockups
Tag Assignment: Adding tags directly via the project summary/settings.
Filtering Interface: A multi-select filter at the top of the project list.
Future Considerations
Beyond tagging, this metadata layer could eventually support:
UI Grouping: An "Accordion" or "Board" view where projects are visually nested by a specific tag (e.g., "Group by Client").
Automated Sorting: Sorting projects based on tag priority.
Next Steps
I am interested in developing this feature and would like to check if:
- There are any similar features currently on the roadmap?
- There are specific architectural preferences for how project metadata should be stored?
- The community/team has any alternative UI suggestions?
Describe alternatives you've considered
As an alternative to a full multi-tagging system, we could implement a single Category field for each project. This approach prioritizes rapid development and lower maintenance overhead while still addressing the immediate need for organization.
Technical Trade-offs
Pros:
- Database Simplicity: Requires a single string/ID column rather than a relational many-to-many table or a JSON array.
- UI/UX Clarity: Avoids "tag clutter." Users select one primary group (e.g., Client Name) from a defined list.
- Predictable UI: Filtering is simplified to a single dropdown rather than a complex multi-select search bar.
Cons:
- Reduced Flexibility: A project cannot belong to both a "Client" and a "Status" group simultaneously.
Proposed Implementation
Project Settings: Add a "Category" dropdown or text field in the project creation/edit window.
Project List View: Add a "Group by Category" toggle or a simple category filter at the top of the projects page.
Additional context
No response
Will you send a PR to implement it?
Yes
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Projects Page and the project summary/settings entry points named in the issue. Review how project data is stored and filtered before choosing between multi-tagging and a single category; done means projects can be categorized and the project list can be filtered accordingly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nextjs, typescript
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100