Skip to content

Feat/add goal category tags#2674

Closed
desireddymohithreddy0925 wants to merge 4 commits into
Priyanshu-byte-coder:mainfrom
desireddymohithreddy0925:feat/add-goal-category-tags
Closed

Feat/add goal category tags#2674
desireddymohithreddy0925 wants to merge 4 commits into
Priyanshu-byte-coder:mainfrom
desireddymohithreddy0925:feat/add-goal-category-tags

Conversation

@desireddymohithreddy0925

@desireddymohithreddy0925 desireddymohithreddy0925 commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #


Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that changes existing behavior)
  • 📝 Documentation update
  • ♻️ Refactor / code cleanup (no functional change)
  • ⚡ Performance improvement
  • 🔒 Security fix
  • 🧪 Tests only

What Changed

Database Schema: Added a new category column to the goals table via a Supabase migration to store the selected tag.
Goal Creation UI: Introduced an optional "Category Tag" dropdown in the goal creation form supporting predefined categories (Side Project, Work, DSA, Open Source).
Goal Filtering: Added a row of toggle filter pills at the top of the Goal Tracker widget, allowing developers to filter their progress view by a single specific tag.
Progress Cards: Enhanced individual goal progress cards to render the selected category as a visually distinct, color-coded micro-badge next to the goal title.
API & Types: Updated the POST /api/goals route and relevant data payloads to accept, validate, and securely persist the new category field.


How to Test

Check out the feat/add-goal-category-tags branch and start your local development server.
Run the local Supabase migrations to apply the new category column to your database.
Navigate to a dashboard with the Goal Tracker widget.
Create a new goal and select a category (e.g., "DSA") from the new dropdown.
Once created, confirm that the goal card displays the correct color-coded micro-badge.
Create several goals across different categories.
Click the new filter toggle pills ("All", "Work", "Side Project", etc.) at the top of the widget.
Verify that the goal list updates to only show goals belonging to the selected category, and layout state transitions remain smooth.

Expected result:
Users can optionally categorize their goals upon creation.
A clean, accessible micro-badge appears on categorized goals.
Users can quickly filter their active and completed goals by category, eliminating visual clutter when managing multiple distinct work streams.
The component transitions cleanly without causing horizontal overflow shifts.

Checklist

  • Linked the related issue above
  • Self-reviewed my own diff
  • No unnecessary console.log, debug code, or commented-out blocks
  • npm run lint passes locally
  • No TypeScript errors (npm run type-check)
  • Added or updated tests where applicable
  • Updated documentation / comments if behavior changed

Accessibility (UI changes only)

  • Keyboard navigation works correctly
  • Color contrast meets WCAG AA standard
  • ARIA labels / roles added where needed
  • Tested on mobile / responsive layout

Additional Context

@github-actions github-actions Bot added type:bug GSSoC type bonus: bug fix type:feature GSSoC type bonus: new feature type:design GSSoC type bonus: UI/design (+10 pts) type:performance GSSoC type bonus: performance (+15 pts) gssoc26 GSSoC 2026 contribution labels Jun 22, 2026
@github-actions

Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Umbrella-io — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

@Priyanshu-byte-coder

Copy link
Copy Markdown
Owner

New UI/feature PRs are on hold during the code quality sprint — see discussion #2651. PRs for tests, refactoring, bug fixes, docs, and performance are welcome.

@Priyanshu-byte-coder

Copy link
Copy Markdown
Owner

On hold — new features are not being merged during the code quality sprint. See discussion #2651.

@Priyanshu-byte-coder

Copy link
Copy Markdown
Owner

New feature/UI PRs are on hold during the code-quality sprint — see discussion #2651. We'll revisit after the sprint; tests, refactors, and bug-fix PRs are the priority right now.

@Priyanshu-byte-coder

Copy link
Copy Markdown
Owner

Closing in favor of #3194, which implements the same goal category-tags feature more completely — it adds the DB migration + schema update, enum validation on the API, category badges in the GoalTracker UI, and keeps the existing test fixtures compiling. Consolidating on that one. Thanks for the idea here — it's what prompted the feature.

@desireddymohithreddy0925
desireddymohithreddy0925 deleted the feat/add-goal-category-tags branch July 19, 2026 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc26 GSSoC 2026 contribution type:bug GSSoC type bonus: bug fix type:design GSSoC type bonus: UI/design (+10 pts) type:feature GSSoC type bonus: new feature type:performance GSSoC type bonus: performance (+15 pts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants