https://github.com/fkucukkara/minimalapiplayground
This project is a .NET 9 Minimal API built as part of a workshop to demonstrate advanced concepts in API development using the latest features of C# and .NET 9.
https://github.com/fkucukkara/minimalapiplayground
cqrs-pattern csharp entity-framework-core generic-repository mediatr netcore-webapi solid-principles
Last synced: 11 months ago
JSON representation
This project is a .NET 9 Minimal API built as part of a workshop to demonstrate advanced concepts in API development using the latest features of C# and .NET 9.
- Host: GitHub
- URL: https://github.com/fkucukkara/minimalapiplayground
- Owner: fkucukkara
- License: mit
- Created: 2023-06-11T06:51:42.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-05T13:44:51.000Z (about 1 year ago)
- Last Synced: 2025-01-23T02:17:03.601Z (about 1 year ago)
- Topics: cqrs-pattern, csharp, entity-framework-core, generic-repository, mediatr, netcore-webapi, solid-principles
- Language: C#
- Homepage:
- Size: 14.5 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Minimal API Workshop
## Overview
This project is a **.NET 9 Minimal API** built as part of a workshop to demonstrate advanced concepts in API development using the latest features of C# and .NET 9. The focus is on applying modern architectural patterns and practices while leveraging a variety of tools and frameworks.
## Features
### **Major Features**
- **C# .NET 9**: Leverages the latest features of .NET 9 for efficient and robust development.
- **CQRS (Command Query Responsibility Segregation)**: Implements separation of read and write operations for scalability and maintainability.
- **MediatR**: Facilitates in-process messaging for decoupling and implementing CQRS patterns.
- **Entity Framework Core**: Simplifies database access and management.
- **Generic Repository Pattern**: Provides reusable and efficient data access methods.
- **OOP (Object-Oriented Programming)**: Demonstrates robust design and implementation of object-oriented principles.
- **SOLID Principles**: Adheres to SOLID design principles for maintainable and scalable code.
- **Clean Code**: Focuses on writing readable, maintainable, and extensible code.
### **Minor Features**
- **Centralized Package Management**: Ensures consistent package versions across projects using `Directory.Packages.props`.
- **Centralized Exception Management**: Implements a unified approach to handling exceptions and improving debugging.
## Testing and Automation
- **xUnit**: Provides a robust testing framework for unit and integration tests.
- **Autofixture**: Simplifies test data generation for effective and clean testing.
## Prerequisites
- .NET 9 SDK
- SQL Server
- Visual Studio 2022 or a compatible IDE
## How to Run
1. Clone the repository:
```bash
git clone https://github.com/fkucukkara/minimalAPIPlayground.git
```
2. Restore dependencies:
```bash
dotnet restore
```
3. Apply migrations and update the database:
```bash
dotnet ef database update
```
4. Run the application:
```bash
dotnet run
```
## License
[](LICENSE)
This project is licensed under the MIT License. See the [`LICENSE`](LICENSE) file for details.