Skip to content

[Sprint 19] Build Categories CRUD and blog post category assignment #339

Description

@mpaulosky

Summary

Add a new Category entity and wire it into blog post creation/editing so every blog post selects a required category.

Motivation

Blog posts need a shared taxonomy for organization, filtering, and navigation. Editors also need a cleaner post form that shows the current author without allowing edits.

Proposed Solution

  • Add a Category entity with Name and Description.
  • Build a CRUD page for Categories.
  • Add Categories to the main navigation.
  • On Create/Edit Blog Post pages, show a required category dropdown populated from Categories.
  • On Create/Edit Blog Post pages, show the Author name in a non-editable field.
  • Add a default category (e.g. General) and assign existing blog posts to it.
  • Make category deletion fail when any blog post still uses that category.
  • Require Category.Name to be unique.
  • Require Category.Description.
  • Require Tests
  • Require AppHost seed data to be updated.

Acceptance Criteria

  • Categories can be created, edited, listed, and deleted from a CRUD page.
  • Categories appear in the main navigation.
  • Blog post Create/Edit pages show a required category dropdown.
  • Blog post Create/Edit pages display the author name read-only.
  • Category name is unique.
  • Category description is required.
  • Existing blog posts are migrated to a default category.
  • Categories in use by blog posts cannot be deleted.

Additional Context

Reference screenshot provided in the request shows the desired form layout for the blog post pages.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestsquad:gimliAssigned to Gimli (Tester)squad:legolasAssigned to Legolas (Frontend / Blazor)squad:samAssigned to Sam (Backend / .NET)

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions