{
  "markdown": "# Easy.Platform Framework\n\n[![.NET 9](https://img.shields.io/badge/.NET-9-blue.svg)](https://dotnet.microsoft.com/download)\n[![Angular 19](https://img.shields.io/badge/Angular-19-red.svg)](https://angular.io/)\n[![Clean Architecture](https://img.shields.io/badge/Architecture-Clean-green.svg)](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)\n[![CQRS](https://img.shields.io/badge/Pattern-CQRS-orange.svg)](https://martinfowler.com/bliki/CQRS.html)\n\n> **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.\n\n## Quick Navigation\n\n| **I am a...**     | **Start Here**                                 | **Learn More**                                    |\n| ----------------- | ---------------------------------------------- | ------------------------------------------------- |\n| **New Developer** | [Getting Started](docs/getting-started.md)     | [Learning Paths](docs/learning-paths.md)          |\n| **Backend Dev**   | [Backend Quickref](docs/backend-quickref.md)   | [CLAUDE.md Patterns](CLAUDE.md#backend-patterns)  |\n| **Frontend Dev**  | [Frontend Quickref](docs/frontend-quickref.md) | [CLAUDE.md Patterns](CLAUDE.md#frontend-patterns) |\n| **AI Agent**      | [CLAUDE.md](CLAUDE.md)                         | [docs/claude/](docs/claude/)                      |\n\n---\n\n## What is Easy.Platform?\n\nEasy.Platform provides a complete foundation for enterprise application development:\n\n- **Clean Architecture**: Four-layer architecture (Domain, Application, Infrastructure, Presentation) ensuring separation of concerns and testability\n- **CQRS Pattern**: Command Query Responsibility Segregation with fluent validation and event-driven side effects\n- **Event-Driven Architecture**: Domain events and RabbitMQ message bus for cross-service communication\n- **Multi-Database Support**: MongoDB, SQL Server, PostgreSQL with unified repository patterns\n- **Angular Integration**: PlatformVmStore state management, base components, and reactive forms\n\nThe framework is battle-tested in production enterprise applications and provides patterns for common challenges like background jobs, data migrations, authorization, and multi-tenancy.\n\n---\n\n## Quick Start (30 seconds)\n\n```bash\n# Backend\ndotnet run --project src/Backend/PlatformExampleApp.TextSnippet.Api\n\n# Frontend\ncd src/Frontend && npm install && nx serve playground-text-snippet\n\n# Infrastructure\ndocker-compose -f src/platform-example-app.docker-compose.yml -f src/platform-example-app.docker-compose.override.yml up -d\n```\n\n> **Detailed setup:** [Getting Started Guide](docs/getting-started.md)\n\n---\n\n## Documentation\n\n| Doc                                                    | Purpose                                         |\n| ------------------------------------------------------ | ----------------------------------------------- |\n| [Getting Started](docs/getting-started.md)             | Prerequisites, setup, commands, troubleshooting |\n| [Architecture Overview](docs/architecture-overview.md) | System design, project structure, diagrams      |\n| [Backend Quickref](docs/backend-quickref.md)           | Backend decision tree and key patterns          |\n| [Frontend Quickref](docs/frontend-quickref.md)         | Frontend decision tree and key patterns         |\n| [Learning Paths](docs/learning-paths.md)               | Developer onboarding by role                    |\n| [CLAUDE.md](CLAUDE.md)                                 | Complete code patterns, AI agent instructions   |\n| **[Business Features](docs/BUSINESS-FEATURES.md)**     | **Module documentation, features, APIs**        |\n\n> **Business Documentation:** For detailed business module documentation (requirements, workflows, APIs, test specs), see [`docs/business-features/`](docs/business-features/) with [`docs/BUSINESS-FEATURES.md`](docs/BUSINESS-FEATURES.md) as the master index.\n\n---\n\n## AI-Assisted Team Collaboration\n\nThis project includes a complete team collaboration system for AI agents, supporting agile workflows from idea capture to release.\n\n### Team Roles & Commands\n\n| Role                 | Commands                               | Purpose                                      |\n| -------------------- | -------------------------------------- | -------------------------------------------- |\n| **Product Owner**    | `/team-idea`, `/team-prioritize`                         | Capture ideas, backlog prioritization        |\n| **Business Analyst** | `/team-refine`, `/team-story`                            | PBI refinement, user story creation          |\n| **QA Engineer**      | `/team-test-spec`, `/team-test-cases`                    | Test specification, test case generation     |\n| **UX Designer**      | `/team-design-spec`, `/team-figma-extract`               | UI specs, Figma design extraction            |\n| **QC Specialist**    | `/team-quality-gate`                                     | Pre-dev/QA/release quality gates             |\n| **Project Manager**  | `/team-status`, `/team-dependency`, `/team-team-sync`    | Status reports, dependency mapping, meetings |\n\n### Artifact Management\n\n```\nteam-artifacts/\n├── ideas/           # Raw ideas (IDEA-YYMMDD-NNN)\n├── pbis/            # Product Backlog Items (PBI-YYMMDD-NNN)\n├── test-specs/      # Test specifications (TS-MOD-NNN)\n├── design-specs/    # UI/UX specifications\n├── qc-reports/      # Quality gate reports\n└── templates/       # Artifact templates\n```\n\n> **Full guide:** [Team Collaboration Guide](docs/claude/team-collaboration-guide.md)\n\n---\n\n## Architecture Overview\n\n```mermaid\ngraph TB\n    subgraph \"Frontend - Nx Workspace\"\n        subgraph \"Apps\"\n            PLAYGROUND[\"playground-text-snippet\"]\n        end\n        subgraph \"Libraries\"\n            PLATFORM_CORE[\"platform-core\"]\n            PLATFORM_COMP[\"platform-components\"]\n            APPS_DOMAINS[\"apps-domains\"]\n        end\n        PLAYGROUND --> PLATFORM_CORE\n        PLAYGROUND --> APPS_DOMAINS\n    end\n\n    subgraph \"Backend - .NET 9\"\n        API[\"TextSnippet.Api\"]\n        APP[\"TextSnippet.Application\"]\n        DOMAIN[\"TextSnippet.Domain\"]\n        PERSIST[\"TextSnippet.Persistence\"]\n    end\n\n    subgraph \"Infrastructure\"\n        RABBIT[\"RabbitMQ\"]\n        REDIS[\"Redis\"]\n        DB[\"MongoDB/SQL/Postgres\"]\n    end\n\n    PLAYGROUND --> API\n    API --> APP\n    APP --> DOMAIN\n    APP --> PERSIST\n    PERSIST --> DB\n    APP --> RABBIT\n    APP --> REDIS\n```\n\n### Technology Stack\n\n| Layer         | Technologies                                  |\n| ------------- | --------------------------------------------- |\n| **Backend**   | .NET 9, ASP.NET Core, CQRS                    |\n| **Frontend**  | Angular 19, TypeScript, RxJS, PlatformVmStore |\n| **Data**      | MongoDB, SQL Server, PostgreSQL               |\n| **Messaging** | RabbitMQ                                      |\n| **Caching**   | Redis                                         |\n| **Jobs**      | Hangfire                                      |\n\n> **Full architecture details:** [Architecture Overview](docs/architecture-overview.md)\n\n---\n\n## Project Structure\n\n### Backend\n\n```\nsrc/Platform/                    # Easy.Platform framework\n├── Easy.Platform/               # Core (CQRS, validation, repositories)\n├── Easy.Platform.AspNetCore/    # ASP.NET Core integration\n├── Easy.Platform.MongoDB/       # MongoDB patterns\n├── Easy.Platform.RabbitMQ/      # Message bus\n└── Easy.Platform.*/             # Other modules\n\nsrc/Backend/          # Example microservice\n├── *.Api/                       # Web API layer\n├── *.Application/               # CQRS handlers, jobs, events\n├── *.Domain/                    # Entities, domain events\n├── *.Infrastructure/            # External concerns (storage, external APIs)\n└── *.Persistence*/              # Database implementations\n```\n\n### Frontend\n\n```\nsrc/Frontend/       # Angular 19 Nx workspace\n├── apps/\n│   └── playground-text-snippet/ # Example app\n└── libs/\n    ├── platform-core/           # Base classes, utilities\n    ├── platform-components/     # Reusable UI components\n    ├── apps-domains/            # Business domain code\n    ├── apps-domains-components/ # Domain-specific components\n    └── apps-shared-components/  # Shared app components\n```\n\n---\n\n## Key Principles\n\n### Backend\n\n1. **Repository Pattern**: Use `IPlatformQueryableRootRepository<TEntity, TKey>`\n2. **Validation**: Use `PlatformValidationResult` fluent API (never throw)\n3. **Side Effects**: Use entity event handlers (never in command handlers)\n4. **CQRS**: Command + Result + Handler in ONE file\n5. **DTO Mapping**: DTOs own mapping via `MapToEntity()`\n\n### Frontend\n\n1. **Component Hierarchy**: `AppBaseComponent` → Feature Component\n2. **State Management**: `PlatformVmStore` for complex state\n3. **API Services**: Extend `PlatformApiService`\n4. **Subscriptions**: Always use `untilDestroyed()`\n5. **CSS Naming**: BEM convention (`block__element --modifier`)\n\n> **Complete patterns:** [CLAUDE.md](CLAUDE.md)\n\n---\n\n## Development Commands\n\n```bash\n# Backend\ndotnet build src/Easy.Platform.sln\ndotnet run --project src/Backend/PlatformExampleApp.TextSnippet.Api\ndotnet test [Project].csproj\n\n# Frontend\ncd src/Frontend\nnpm install\nnx serve playground-text-snippet\nnx build playground-text-snippet\nnx test platform-core\n```\n\n---\n\n## Getting Help\n\n1. **Study Examples**: `src/Backend/` for backend, `src/Frontend/apps/playground-text-snippet/` for frontend\n2. **Search Codebase**: Use grep/glob to find existing patterns\n3. **Check Documentation**: `docs/` directory for guides, `CLAUDE.md` for patterns\n4. **Read Base Classes**: Check platform-core source for available APIs\n\n---\n\n## Version Information\n\n- **Platform Version**: Easy.Platform 1.0\n- **Backend Framework**: .NET 9\n- **Frontend Framework**: Angular 19\n- **Last Updated**: February 2026\n\n---\n\n_For detailed code patterns and complete examples, see [CLAUDE.md](CLAUDE.md) and the working examples in `src/Backend/`._\n",
  "bytes": 10059,
  "sha": "94188f6dbcab7168546f2cc0f328205d7d2a5bd3bdf821824248ea72990a6ff2",
  "repo_slug": "duc01226/easyplatform",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_duc01226_easyplatform_pdf_to_markdown_a54ef814/readme"
}