Skip to content

Commit 98be385

Browse files
authored
Update README.md
1 parent e49e604 commit 98be385

File tree

1 file changed

+31
-99
lines changed

1 file changed

+31
-99
lines changed

README.md

Lines changed: 31 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -18,79 +18,35 @@
1818

1919
SourceFlow.Net empowers developers to build scalable, maintainable applications by providing a complete toolkit for event sourcing, domain modeling, and command/query separation. Built from the ground up for .NET 8+ with **performance** and **developer experience** as core priorities.
2020

21-
## ✨ Key Features
22-
23-
### 📊 Event Sourcing Foundation
24-
- **Event Store Abstraction** - Pluggable storage backends (SQL Server, PostgreSQL, MongoDB, EventStore DB)
25-
- **Event Serialization** - JSON, MessagePack, and custom serializers
26-
- **Event Versioning** - Built-in support for event schema evolution
27-
- **Snapshots** - Automatic snapshot management for performance optimization
28-
- **Event Correlation** - Track causation and correlation across event streams
29-
30-
### 🏗️ Domain-Driven Design Support
31-
- **Aggregate Root Framework** - Base classes and interfaces for DDD aggregates
32-
- **Value Objects** - Immutable value type helpers and generators
33-
- **Domain Events** - Rich domain event publishing and handling
34-
- **Bounded Context Isolation** - Tools for maintaining clean architectural boundaries
35-
- **Specification Pattern** - Reusable business rule implementations
36-
37-
### ⚡ CQRS Implementation
38-
- **Command Pipeline** - Validation, authorization, and middleware support
39-
- **Query Optimization** - Dedicated read models with eventual consistency
40-
- **Mediator Pattern** - Built-in command/query dispatching
41-
- **Projection Engine** - Real-time and batch projection processing
42-
- **Read Model Synchronization** - Automated view materialization
43-
44-
### 👨‍💻 Developer Experience
45-
- **Minimal Configuration** - Convention-over-configuration approach
46-
- **ASP.NET Core Integration** - Seamless web API and MVC support
47-
- **Dependency Injection** - Native DI container integration
48-
- **Health Checks** - Built-in monitoring and diagnostics
49-
- **OpenTelemetry Support** - Distributed tracing and metrics
50-
- **Code Generation** - T4 templates and source generators for boilerplate reduction
51-
52-
### 🏢 Enterprise Features
53-
- **Multi-tenancy** - Tenant isolation at the event store level
54-
- **Eventual Consistency** - Saga pattern implementation for long-running processes
55-
- **Event Replay** - Complete system state reconstruction capabilities
56-
- **Audit Trail** - Immutable audit log for compliance requirements
57-
- **Performance Monitoring** - Built-in metrics and performance counters
58-
- **Horizontal Scaling** - Support for distributed event processing
59-
60-
## 🏛️ Architecture Principles
61-
62-
<table>
63-
<tr>
64-
<td><strong>🧱 Clean Architecture</strong></td>
65-
<td>Enforces dependency inversion and separation of concerns</td>
66-
</tr>
67-
<tr>
68-
<td><strong>📝 Event-First Design</strong></td>
69-
<td>Events as the source of truth for all state changes</td>
70-
</tr>
71-
<tr>
72-
<td><strong>🔒 Immutable Data</strong></td>
73-
<td>Promotes functional programming concepts where applicable</td>
74-
</tr>
75-
<tr>
76-
<td><strong>🧪 Testability</strong></td>
77-
<td>Easy unit and integration testing with in-memory implementations</td>
78-
</tr>
79-
<tr>
80-
<td><strong>👁️ Observability</strong></td>
81-
<td>Comprehensive logging, metrics, and tracing out of the box</td>
82-
</tr>
83-
</table>
21+
## 🌟 Why SourceFlow.Net?
22+
### ✨ Key Features
23+
* 🏗️ Domain-Driven Design Support
24+
- **Aggregate Root Framework** - Base classes and interfaces for DDD aggregates
25+
- **Value Objects** - Immutable value type helpers and generators
26+
- **Domain Events** - Rich domain event publishing and handling
27+
- **Bounded Context Isolation** - Tools for maintaining clean architectural boundaries
28+
* ⚡ CQRS Implementation with Command/Query Segregation
29+
- **Command Pipeline** - Validation, authorization, and middleware support
30+
- **Query Optimization** - Dedicated read models with eventual consistency
31+
- **Mediator Pattern** - Built-in command/query dispatching
32+
- **Projection Engine** - Real-time and batch projection processing
33+
- **Read Model Synchronization** - Automated view materialization
34+
* 📊 Event-First Design with Event Sourcing Foundation
35+
- **Event Replay** - Complete system state reconstruction capabilities
36+
- **Event Correlation** - Track causation and correlation across event streams
37+
- **Eventual Consistency** - Saga pattern implementation for long-running processes
38+
- **Audit Trail** - Immutable audit log for compliance requirements
39+
- **Snapshots** - Automatic snapshot management for performance optimization
40+
* 🧱 Clean Architecture
41+
- **Improved Maintainability** - well-organized codebase with distinct layers and separation of concerns
42+
- **Increased Modularity** - promotes smaller, well-defined modules or components, each with a specific responsibility
43+
- **Enhanced Testability** - allows focused testing of individual components without the need for complex setups or external dependencies
44+
- **Framework and Database Independence** - allows easy switching of components, databases, or other external dependencies without requiring significant changes to the core application
45+
46+
47+
8448

85-
## 💼 Use Cases
8649

87-
| Industry | Applications |
88-
|----------|-------------|
89-
| **💰 Financial** | Trading platforms, payment processing, accounting systems |
90-
| **🛒 E-commerce** | Order management, inventory tracking, customer journeys |
91-
| **🌐 IoT** | Device state management, sensor data processing |
92-
| **👥 Collaboration** | Document versioning, user activity tracking |
93-
| **📋 Compliance** | Audit trails, regulatory re
9450

9551
## 🏁 Getting Started
9652
### Installation
@@ -126,36 +82,12 @@ public class PlaceOrderHandler : ICommandHandler<PlaceOrderCommand>
12682
}
12783
}
12884
```
129-
## 🌟 Why SourceFlow.Net?
130-
Features
131-
- 🚀 Production Ready, Battle-tested patterns with enterprise-grade reliability
132-
- 💫 Developer Friendly Intuitive APIs with excellent documentation and samples
133-
- ⚡ Performance Focused, Optimized for high-throughput, low-latency scenarios
134-
- 🔧 ExtensiblePlugin architecture for custom storage, serialization, and messaging
135-
- 👥 Community DrivenOpen source with active community and contributor support
136-
- 🆕 Modern .NETTakes advantage of latest C# and .NET platform features
137-
138-
## 🎯 Target Audience
139-
140-
- 👨‍💼 Senior Developers building complex business applications
141-
- 🏗️ Architects designing scalable, event-driven systems
142-
- 👨‍👩‍👧‍👦 Teams transitioning from CRUD to event-sourcing patterns
143-
- 🏢 Organizations requiring audit trails and temporal data queries
144-
- 🔬 Microservice Teams implementing distributed system patterns
145-
146-
## 📚 Documentation
147-
- 📖 Documentation - Complete guides and API reference
148-
- 🚀 Quick Start - Get up and running in minutes
149-
- 💡 Examples - Sample applications and use cases
150-
- ❓ FAQ - Common questions and troubleshooting
151-
15285
## 🤝 Contributing
15386
We welcome contributions! Please see our Contributing Guide for details.
154-
155-
🐛 Bug Reports - Create an issue
156-
💡 Feature Requests - Start a discussion
157-
📝 Documentation - Help improve our docs
158-
💻 Code - Submit pull requests
87+
- 🐛 Bug Reports - Create an issue
88+
- 💡 Feature Requests - Start a discussion
89+
- 📝 Documentation - Help improve our docs
90+
- 💻 Code - Submit pull requests
15991

16092
## 📄 License
16193
MIT License - Free for commercial and open source use

0 commit comments

Comments
 (0)