Skip to content

Implement Tag System with Unique IDs #115

@DrunkOnJava

Description

@DrunkOnJava

🏷️ Complete Tag System Implementation

Current State

  • Tags stored as simple strings in Item model
  • TODOs in ItemsListViewModel indicate tag IDs not implemented
  • No tag management UI or persistence

Required Implementation

  1. Tag Model and Repository

    • Create Tag entity with id, name, color
    • Implement TagRepository with CRUD operations
    • Add tag-to-item relationship management
  2. UI Components

    • Tag picker/selector component
    • Tag management view (create, edit, delete)
    • Tag autocomplete in item edit view
    • Tag color customization
  3. Integration

    • Update Item model to use tag IDs
    • Migrate existing string tags to Tag entities
    • Update filtering to work with tag IDs

Database Schema

struct Tag {
    let id: UUID
    let name: String
    let color: String // Hex color
    let createdAt: Date
}

Acceptance Criteria

  • Tags have unique IDs and properties
  • Tag management UI is intuitive
  • Existing tags migrated successfully
  • Tag filtering works correctly

Parent Epic

Related to #86 (Core Data Persistence)

Metadata

Metadata

Assignees

Labels

P2Medium priority - fix in next sprintdata-modelData model and schema issuesenhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions