Agent Skill
2/7/2026

easyplatform-backend

[Implementation] Complete Easy.Platform backend development for EasyPlatform. Covers CQRS commands/queries, entities, validation, migrations, background jobs, and message bus. Use for any .NET backend task in this monorepo.

D
duc01226
3GitHub Stars
3Views
npx skills add duc01226/EasyPlatform

SKILL.md

Nameeasyplatform-backend
Description[Implementation] Complete Easy.Platform backend development for EasyPlatform. Covers CQRS commands/queries, entities, validation, migrations, background jobs, and message bus. Use for any .NET backend task in this monorepo.

Easy.Platform Framework

.NET 9 Angular 19 Clean Architecture CQRS

Easy.Platform is a comprehensive framework for building enterprise applications with .NET 9 backend and Angular 19 frontend, featuring Clean Architecture, CQRS, Domain-Driven Design, and event-driven patterns.

Quick Navigation

I am a...Start HereLearn More
New DeveloperGetting StartedLearning Paths
Backend DevBackend QuickrefCLAUDE.md Patterns
Frontend DevFrontend QuickrefCLAUDE.md Patterns
AI AgentCLAUDE.mddocs/claude/

What is Easy.Platform?

Easy.Platform provides a complete foundation for enterprise application development:

  • Clean Architecture: Four-layer architecture (Domain, Application, Infrastructure, Presentation) ensuring separation of concerns and testability
  • CQRS Pattern: Command Query Responsibility Segregation with fluent validation and event-driven side effects
  • Event-Driven Architecture: Domain events and RabbitMQ message bus for cross-service communication
  • Multi-Database Support: MongoDB, SQL Server, PostgreSQL with unified repository patterns
  • Angular Integration: PlatformVmStore state management, base components, and reactive forms

The framework is battle-tested in production enterprise applications and provides patterns for common challenges like background jobs, data migrations, authorization, and multi-tenancy.


Quick Start (30 seconds)

# Backend
dotnet run --project src/Backend/PlatformExampleApp.TextSnippet.Api

# Frontend
cd src/Frontend && npm install && nx serve playground-text-snippet

# Infrastructure
docker-compose -f src/platform-example-app.docker-compose.yml -f src/platform-example-app.docker-compose.override.yml up -d

Detailed setup: Getting Started Guide


Documentation

DocPurpose
Getting StartedPrerequisites, setup, commands, troubleshooting
Architecture OverviewSystem design, project structure, diagrams
Backend QuickrefBackend decision tree and key patterns
Frontend QuickrefFrontend decision tree and key patterns
Learning PathsDeveloper onboarding by role
CLAUDE.mdComplete code patterns, AI agent instructions
Business FeaturesModule documentation, features, APIs

Business Documentation: For detailed business module documentation (requirements, workflows, APIs, test specs), see docs/business-features/ with docs/BUSINESS-FEATURES.md as the master index.


AI-Assisted Team Collaboration

This project includes a complete team collaboration system for AI agents, supporting agile workflows from idea capture to release.

Team Roles & Commands

RoleCommandsPurpose
Product Owner/team-idea, /team-prioritizeCapture ideas, backlog prioritization
Business Analyst/team-refine, /team-storyPBI refinement, user story creation
QA Engineer/team-test-spec, /team-test-casesTest specification, test case generation
UX Designer/team-design-spec, /team-figma-extractUI specs, Figma design extraction
QC Specialist/team-quality-gatePre-dev/QA/release quality gates
Project Manager/team-status, /team-dependency, /team-team-syncStatus reports, dependency mapping, meetings

Artifact Management

team-artifacts/
├── ideas/           # Raw ideas (IDEA-YYMMDD-NNN)
├── pbis/            # Product Backlog Items (PBI-YYMMDD-NNN)
├── test-specs/      # Test specifications (TS-MOD-NNN)
├── design-specs/    # UI/UX specifications
├── qc-reports/      # Quality gate reports
└── templates/       # Artifact templates

Full guide: Team Collaboration Guide


Architecture Overview

graph TB
    subgraph "Frontend - Nx Workspace"
        subgraph "Apps"
            PLAYGROUND["playground-text-snippet"]
        end
        subgraph "Libraries"
            PLATFORM_CORE["platform-core"]
            PLATFORM_COMP["platform-components"]
            APPS_DOMAINS["apps-domains"]
        end
        PLAYGROUND --> PLATFORM_CORE
        PLAYGROUND --> APPS_DOMAINS
    end

    subgraph "Backend - .NET 9"
        API["TextSnippet.Api"]
        APP["TextSnippet.Application"]
        DOMAIN["TextSnippet.Domain"]
        PERSIST["TextSnippet.Persistence"]
    end

    subgraph "Infrastructure"
        RABBIT["RabbitMQ"]
        REDIS["Redis"]
        DB["MongoDB/SQL/Postgres"]
    end

    PLAYGROUND --> API
    API --> APP
    APP --> DOMAIN
    APP --> PERSIST
    PERSIST --> DB
    APP --> RABBIT
    APP --> REDIS

Technology Stack

LayerTechnologies
Backend.NET 9, ASP.NET Core, CQRS
FrontendAngular 19, TypeScript, RxJS, PlatformVmStore
DataMongoDB, SQL Server, PostgreSQL
MessagingRabbitMQ
CachingRedis
JobsHangfire

Full architecture details: Architecture Overview


Project Structure

Backend

src/Platform/                    # Easy.Platform framework
├── Easy.Platform/               # Core (CQRS, validation, repositories)
├── Easy.Platform.AspNetCore/    # ASP.NET Core integration
├── Easy.Platform.MongoDB/       # MongoDB patterns
├── Easy.Platform.RabbitMQ/      # Message bus
└── Easy.Platform.*/             # Other modules

src/Backend/          # Example microservice
├── *.Api/                       # Web API layer
├── *.Application/               # CQRS handlers, jobs, events
├── *.Domain/                    # Entities, domain events
├── *.Infrastructure/            # External concerns (storage, external APIs)
└── *.Persistence*/              # Database implementations

Frontend

src/Frontend/       # Angular 19 Nx workspace
├── apps/
│   └── playground-text-snippet/ # Example app
└── libs/
    ├── platform-core/           # Base classes, utilities
    ├── platform-components/     # Reusable UI components
    ├── apps-domains/            # Business domain code
    ├── apps-domains-components/ # Domain-specific components
    └── apps-shared-components/  # Shared app components

Key Principles

Backend

  1. Repository Pattern: Use IPlatformQueryableRootRepository<TEntity, TKey>
  2. Validation: Use PlatformValidationResult fluent API (never throw)
  3. Side Effects: Use entity event handlers (never in command handlers)
  4. CQRS: Command + Result + Handler in ONE file
  5. DTO Mapping: DTOs own mapping via MapToEntity()

Frontend

  1. Component Hierarchy: AppBaseComponent → Feature Component
  2. State Management: PlatformVmStore for complex state
  3. API Services: Extend PlatformApiService
  4. Subscriptions: Always use untilDestroyed()
  5. CSS Naming: BEM convention (block__element --modifier)

Complete patterns: CLAUDE.md


Development Commands

# Backend
dotnet build src/Easy.Platform.sln
dotnet run --project src/Backend/PlatformExampleApp.TextSnippet.Api
dotnet test [Project].csproj

# Frontend
cd src/Frontend
npm install
nx serve playground-text-snippet
nx build playground-text-snippet
nx test platform-core

Getting Help

  1. Study Examples: src/Backend/ for backend, src/Frontend/apps/playground-text-snippet/ for frontend
  2. Search Codebase: Use grep/glob to find existing patterns
  3. Check Documentation: docs/ directory for guides, CLAUDE.md for patterns
  4. Read Base Classes: Check platform-core source for available APIs

Version Information

  • Platform Version: Easy.Platform 1.0
  • Backend Framework: .NET 9
  • Frontend Framework: Angular 19
  • Last Updated: February 2026

For detailed code patterns and complete examples, see CLAUDE.md and the working examples in src/Backend/.

Skills Info
Original Name:easyplatform-backendAuthor:duc01226