Skip to content

Rename 'Group' to 'Tag' #429

Description

@flyblackbox

Rename 'Group' to 'Tag'

Summary

Rename the post-classification concept currently called Group to Tag across the active Quote.Vote v2 frontend, GraphQL API, and backend.

The Create Quote interface already uses Tag, while the API and backend still use fields such as groupId, createGroup, and GroupModel.

A Tag is a searchable classification attached to a post. It has no membership, permissions, or public/private behavior. All posts are publicly visible.

Tasks

  • Find references to the post-classification concept using:
    • Group
    • group
    • groupId
    • groups
    • createGroup
    • postTagId
  • Rename applicable GraphQL fields and operations:
    • GroupTag
    • groupIdtagId
    • grouptag
    • groupstags
    • createGroupcreateTag
  • Rename applicable backend models, types, resolvers, variables, and files
  • Update the Next.js frontend to submit tagId directly
  • Remove the postTagId → groupId mapping
  • Preserve existing records and post relationships
  • Update fixtures, tests, validation messages, and documentation
  • Leave unrelated uses of Group unchanged

Expected Behavior

The active application consistently uses Tag for the classification attached to a post.

Users can:

  • create a Tag
  • select an existing Tag
  • submit a post with a Tag
  • find posts by Tag
  • open post URLs containing Tag metadata

Existing posts and Tags remain accessible.

Acceptance Criteria

  • Tag is the canonical term for post classification
  • GraphQL uses tag-based fields and operations
  • Backend application code uses Tag terminology
  • Existing records and relationships remain intact
  • Post creation and Tag-related tests pass
  • Unrelated group mentions are not renamed
  • Frontend and backend builds pass

Labels

backend graphql migration domain-model

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions