Skip to content

Added samples and docs for Vertically - #3

Merged
DarthPedro merged 16 commits into
mainfrom
features/samples-and-docs
Sep 3, 2026
Merged

DarthPedro merged 16 commits into
mainfrom
features/samples-and-docs

Conversation

@DarthPedro

Copy link
Copy Markdown
Contributor

Release and Documentation Updates:

  • Added a CHANGELOG.md documenting the initial public release (v0.9.1) with a summary of major features, validation, pipeline behaviors, DI registration, query pagination, and sample applications.

Build and Release Automation:

  • Introduced a .github/workflows/nuget-release.yml GitHub Actions workflow to automate building, testing, packing, and publishing the package to both GitHub and NuGet.org upon new version tags.

Dependency and Package Management:

  • Updated Directory.Packages.props to add references for core dependencies such as Microsoft.EntityFrameworkCore, Microsoft.AspNetCore.OpenApi, System.CommandLine, and others, supporting both the library and sample applications.

Samples & Docs

  • Added end-to-end IssueTracker sample with core Application code and WebApi, Blazor, and Cli clients.
  • Added basic documentation: introduction, getting started, and sever api references docs.
  • Updated readme with full project description and added a CHANGELOG file.

Defined the domain classes for issue tracking.
Implemented the CreateIssue feature.
Implemented GetIssueById to retrieve a single item by its id.
Implemented GetUsers to retrieve all users that will be used as input to Issue commands that require a User.Id.
Minor domain and feature code cleanup.
Added new IssueTracker.Persistence project for EF infrastructure code.
…ng a way to get the next unique counter for issue-key.

Added configuration classes for all entities to tables. Use configurations in OnModelCreating.
Added a design-time DbContextFactory to generate migrations into Persistence project.
Ran the initial EF migration to get the initial database model.
…registration.

Implemented Result to http error extension methods to simplify the creating the action return types (based on success or error).
Special configuration code to use a shared database connection for all three samples.
Reran migration because DateTimeOffseets needed a different configuration in sqlite.
… see and interact with it.

Minor code cleanup in IssueTracker.Api project.
Added ResultViewExtensions to convert Result into actionable UI elements.
Implemented an Issues board with filters and paginated table of Issues.
Fixed the layout and styling to look better.
…ngeStatus pages and modals.

Added ChangeIssuePriority feature in the Application project.
And other minor changes to this sample.
Made some UI color and layout changes.
Added an `EditIssueDetails` slice to edit an issue's title and description:
    - Domain: added an `UpdateDescription` behavior to Issue
    - Application: created an `EditIssueDetails` feature (command, validator, handler) that loads the issue, applies Rename + UpdateDescription
    - Web: added an edit details page with title/description area that switches to an edit form
…a CliHost to support DI in the Cli.

Implemented the initial issue list command that shows pages of issues - parameters to control pageNumber, filtering, and sorting.
Implemented issue show to display details by key.
Added helpers for rendering tables, issue details, and Result<T> helper.
…r list and create commands.

Lots of code cleanup.
Added a readme for the full end-to-end IssueTracker sample.
Added package metadata to Vertically.csproj in prep for release.
Added a CHANGELOG for this package.
Added a set of documents: introduction, getting started, and set of api reference docs.
@DarthPedro
DarthPedro merged commit 109313d into main Sep 3, 2026
1 check passed
@DarthPedro
DarthPedro deleted the features/samples-and-docs branch September 3, 2026 18:33
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