> For the complete documentation index, see [llms.txt](https://docs.flexbase.in/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flexbase.in/core-concepts.md).

# Core Concepts

## 🏗️ The Foundation of Enterprise Applications

Every great application starts with a story - a user journey that flows through business processes, integrates with external systems, and delivers real value. But building these applications shouldn't require you to become a framework expert or infrastructure specialist.

**FlexBase** is the architectural framework that transforms how you build enterprise applications. It provides the solid foundation, robust infrastructure, and scalable patterns that let you focus on what matters most - your business logic and user experience.

## 🎯 What Makes FlexBase Different

### **Strategic Abstraction, Not Over-Engineering**

* **Infrastructure Abstraction**: Abstracts database and message bus complexities while preserving full provider capabilities
* **Zero Framework Code**: No boilerplate, no repetitive patterns, no framework lock-in
* **Technology Evolution Ready**: Seamlessly adapts to new versions of EF Core, NServiceBus, and .NET

### **Built for Scale from Day One**

* **100 Users to Millions**: Start small, scale infinitely without rewriting business code
* **Configuration-Driven Scaling**: Infrastructure changes, not code changes
* **Cloud-Native Architecture**: Optimized for AWS, Azure, and Google Cloud

### **Enterprise-Grade Patterns**

* **Domain-Driven Design**: Business logic at the center, not an afterthought
* **CQRS**: Separate command and query execution for optimal performance
* **Event-Driven Architecture**: Loose coupling, high cohesion, real-time processing
* **Modular Monolith**: Start organized, evolve to microservices when needed

## 🚀 Core Architectural Principles

### **1. Domain-Centric Design**

```
Business Logic → Domain Models → State Machines → Business Rules
```

Your business logic drives the architecture, not the other way around.

### **2. Command Query Responsibility Segregation (CQRS)**

* **Commands**: Write operations with full business validation
* **Queries**: Read operations optimized for performance
* **Independent Scaling**: Scale reads and writes separately

### **3. Event-Driven Architecture**

* **Asynchronous Processing**: Non-blocking operations
* **Loose Coupling**: Services communicate through events
* **Real-Time Updates**: Instant notifications and state changes

### **4. Strategic Infrastructure Abstraction**

* **Database**: Full EF Core power with multi-provider support (SQL Server, MySQL, PostgreSQL, Oracle)
* **Message Bus**: Complete NServiceBus capabilities with multiple transport options
* **Zero Capability Loss**: Access to all advanced features when needed

## 🏢 Scaling Journey: From Startup to Enterprise

### **Phase 1: Modular Monolith (100-1,000 users)**

* Single application with organized modules
* Shared database with connection pooling
* In-memory message bus for development

### **Phase 2: Optimized Monolith (1,000-10,000 users)**

* Read/write database separation
* Message queue integration (RabbitMQ, Azure Service Bus)
* Load balancer configuration

### **Phase 3: Microservices (10,000-100,000 users)**

* Independent FlexBase applications
* Dedicated databases per service
* API Gateway and service discovery

### **Phase 4: Cloud-Native (100,000+ users)**

* Auto-scaling containers
* Managed databases and message queues
* Global distribution and CDN
* **Cloud Agnostic**: Deploy on any cloud platform or hybrid environments

## 🛠️ Technology Stack

### **Core Framework**

* **.NET 8 & .NET 9**: Microsoft .NET platform support
* **Cross-Platform**: Runs on Windows, Linux, and macOS
* **Cloud Agnostic**: Deploy anywhere - AWS, Azure, Google Cloud, or on-premises
* **Entity Framework Core**: Multi-provider ORM with full capabilities
* **NServiceBus**: Enterprise message bus with multiple transports
* **ASP.NET Core**: High-performance web API framework

### **Database Support**

* **SQL Server**: Enterprise-grade relational database
* **MySQL**: Open-source relational database
* **PostgreSQL**: Advanced open-source database
* **Oracle**: Enterprise database with advanced features

### **Message Bus Transports**

* **Learning**: Development and testing
* **RabbitMQ**: High-performance message broker
* **SQL Server**: Database-based messaging
* **Azure Service Bus**: Cloud-native messaging
* **Azure Storage Queue**: Simple cloud messaging
* **Amazon SQS**: AWS messaging service

## 🎨 The FlexBase Advantage

### **For Developers**

* **Focus on Business Logic**: No infrastructure distractions
* **Familiar Patterns**: Standard .NET and EF Core patterns
* **Full Capabilities**: Access to all advanced features when needed
* **Rapid Development**: Generate enterprise-ready code in minutes

### **For Architects**

* **Scalable Design**: Built for growth from day one
* **Technology Flexibility**: Switch providers without code changes
* **Maintainable Code**: Clean architecture with clear separation of concerns
* **Future-Proof**: Evolves with technology without rewrites

### **For Organizations**

* **Reduced Technical Debt**: Clean, maintainable codebase
* **Faster Time to Market**: Focus on features, not infrastructure
* **Lower Total Cost**: Efficient resource utilization and scaling
* **Cloud Flexibility**: Deploy anywhere without vendor lock-in
* **Competitive Advantage**: Enterprise-grade applications at startup speed

## 🚀 Getting Started

FlexBase is built for Microsoft .NET development teams and is available on **.NET 8 and .NET 9**. Whether you're building your first enterprise application or scaling an existing system, FlexBase provides the foundation you need to succeed.

**Ready to transform how you build applications?** Let's dive into the specific concepts and patterns that make FlexBase the choice for modern enterprise development.
