Table of Contents

Application Model

What is the Application Model?

The Cratis Application Model is a comprehensive development framework that provides a structured, opinionated approach to building modern applications. It delivers a cohesive set of libraries, patterns, and tools that work together to accelerate development while maintaining consistency, quality, and maintainability across your codebase.

Rather than assembling disparate libraries and creating your own patterns, the Application Model provides a unified foundation that covers everything from backend APIs to frontend user interfaces, with built-in support for modern architectural patterns like CQRS, event sourcing, and domain-driven design.

Packages / Deployables

Nuget NPM

Key Benefits

🚀 Accelerated Development

  • Pre-built infrastructure - Focus on business logic rather than boilerplate code
  • Convention over configuration - Sensible defaults that work out of the box
  • Integrated tooling - Everything works together seamlessly without integration overhead

🏗️ Architectural Excellence

  • Domain-driven design - Built-in support for concepts, aggregates, and bounded contexts
  • CQRS & Event Sourcing - First-class support for modern architectural patterns
  • Clean separation - Clear boundaries between commands, queries, and domain logic

🔧 Developer Experience

  • Type safety - Strong typing across the entire stack with concepts and value objects
  • Consistent patterns - Unified approach to validation, authorization, and error handling
  • Rich tooling - Proxy generation, automatic API documentation, and development utilities

🌐 Full-Stack Coherence

  • Backend integration - Seamless ASP.NET Core integration with MongoDB and Entity Framework
  • Frontend harmony - React components and MVVM patterns that align with backend concepts
  • End-to-end typing - Shared models and consistent data flow from database to UI

📈 Production Ready

  • Multi-tenancy - Built-in support for tenant isolation and data segregation
  • Security - Integrated authentication, authorization, and compliance features
  • Observability - Structured logging, metrics, and distributed tracing capabilities

🔄 Flexibility & Evolution

  • Modular architecture - Use only what you need, extend what you want
  • Migration friendly - Gradually adopt patterns without rewriting existing code
  • Future-proof - Built on modern .NET and web standards with active maintenance

Get Started

Topic Description
Backend What is offered for .NET backend developers.
Frontend What is offered for Web frontend developers.
General General topics.
Contributing How to contribute.