Skip to content

feat: replace categories with tags#16

Merged
amrtgaber merged 1 commit intomainfrom
feat/replace-categories-with-tags
Feb 4, 2026
Merged

feat: replace categories with tags#16
amrtgaber merged 1 commit intomainfrom
feat/replace-categories-with-tags

Conversation

@amrtgaber
Copy link
Contributor

@amrtgaber amrtgaber commented Feb 4, 2026

Summary

  • Replace the single-select category string column on items with a many-to-many tags system via new tags and item_tags tables
  • Add full CRUD router at /tags (list, create, rename, delete) with 409 on duplicate names and user isolation
  • Update /items to accept tag_ids on create/update and filter by tag query param

Test plan

  • uv run pytest — 44 tests pass (11 new tag tests, updated item tests)
  • Run uv run alembic upgrade head on a fresh DB to verify migration
  • Verify /docs shows new /tags endpoints and updated /items schemas
  • After merge, regenerate frontend API client with pnpm generate-api

Update frontend to use the new tags API instead of categories.

- Regenerate API client (new tags hooks/types, removed categories)
- Replace category dropdown in item form with multi-select tag input
  (combobox with badge chips, dropdown suggestions, inline tag creation)
- Replace category filter in collection detail with tag filter
- Replace single category badge on item/collection cards with multiple
  tag badges
- Update home page copy from "category filters" to "tag filters"
@amrtgaber amrtgaber force-pushed the feat/replace-categories-with-tags branch from df86cb7 to 28a8fbf Compare February 4, 2026 00:34
@amrtgaber amrtgaber merged commit e0a86bc into main Feb 4, 2026
2 checks passed
@amrtgaber amrtgaber deleted the feat/replace-categories-with-tags branch February 6, 2026 23:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant