Co-Pilot
Updated 24 days ago

easyplatform

Dduc01226
0.0k
duc01226/easyplatform
78
Agent Score

πŸ’‘ Summary

Easy.Platform is a framework for building enterprise applications using .NET 9 and Angular 19 with a focus on Clean Architecture and CQRS.

🎯 Target Audience

Enterprise application developersBackend developers familiar with .NETFrontend developers using AngularProject managers overseeing software developmentQA engineers involved in testing enterprise applications

πŸ€– AI Roast: β€œPowerful, but the setup might scare off the impatient.”

Security AnalysisMedium Risk

Risk: Medium. Review: shell/CLI command execution; outbound network access (SSRF, data egress); filesystem read/write scope and path traversal; dependency pinning and supply-chain risk. Run with least privilege and audit before enabling in production.

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 Here | Learn More | | ----------------- | ---------------------------------------------- | ------------------------------------------------- | | New Developer | Getting Started | Learning Paths | | Backend Dev | Backend Quickref | CLAUDE.md Patterns | | Frontend Dev | Frontend Quickref | CLAUDE.md Patterns | | AI Agent | CLAUDE.md | docs/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 up -d

Detailed setup: Getting Started Guide


Documentation

| Doc | Purpose | | ------------------------------------------------------ | ----------------------------------------------- | | Getting Started | Prerequisites, setup, commands, troubleshooting | | Architecture Overview | System design, project structure, diagrams | | Backend Quickref | Backend decision tree and key patterns | | Frontend Quickref | Frontend decision tree and key patterns | | Learning Paths | Developer onboarding by role | | CLAUDE.md | Complete code patterns, AI agent instructions | | Business Features | Module 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

| Role | Commands | Purpose | | -------------------- | -------------------------------------- | -------------------------------------------- | | Product Owner | /team-idea, /team-prioritize | Capture ideas, backlog prioritization | | Business Analyst | /team-refine, /team-story | PBI refinement, user story creation | | QA Engineer | /team-test-spec, /team-test-cases | Test specification, test case generation | | UX Designer | /team-design-spec, /team-figma-extract | UI specs, Figma design extraction | | QC Specialist | /team-quality-gate | Pre-dev/QA/release quality gates | | Project Manager | /team-status, /team-dependency, /team-team-sync | Status 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

| Layer | Technologies | | ------------- | --------------------------------------------- | | Backend | .NET 9, ASP.NET Core, CQRS | | Frontend | Angular 19, TypeScript, RxJS, PlatformVmStore | | Data | MongoDB, SQL Server, PostgreSQL | | Messaging | RabbitMQ | | Caching | Redis | | Jobs | Hangfire |

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 EasyPlatform.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/PlatformExampleApp for backend, 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: January 2025

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

5-Dim Analysis
Clarity8/10
Novelty7/10
Utility9/10
Completeness8/10
Maintainability7/10
Pros & Cons

Pros

  • Comprehensive framework for enterprise applications
  • Supports multiple databases and messaging systems
  • Follows best practices like Clean Architecture and CQRS

Cons

  • Steep learning curve for new developers
  • Complexity may be overkill for small projects
  • Limited community support compared to more established frameworks

Related Skills

java-architect

A
toolCo-Pilot
86/ 100

β€œPowerful, but the setup might scare off the impatient.”

spring-boot-engineer

A
toolCo-Pilot
84/ 100

β€œPowerful, but the setup might scare off the impatient.”

dotnet-core-expert

A
toolCo-Pilot
82/ 100

β€œPowerful, but the setup might scare off the impatient.”

Disclaimer: This content is sourced from GitHub open source projects for display and rating purposes only.

Copyright belongs to the original author duc01226.