BlogSystem is a web API developed using .NET 9, following industry-standard practices such as Domain-Driven Design (DDD), Clean Architecture, Vertical Slice Architecture, and CQRS. The system is designed for scalability, maintainability, and clarity.
- Modular Architecture: Domain-Driven Design (DDD), Clean Architecture, Vertical Slice Architecture.
- CQRS (Command Query Responsibility Segregation) for optimized read and write performance.
- Docker Compose for containerization and consistent environments across development, staging, and production.
- CI/CD with GitHub Actions for automated testing, building, and deployment.
- Swagger Integration for API documentation.
- Unit Tests to ensure the correctness of the core business logic.
Before you start, ensure you have the following installed:
Clone the repository to your local machine using Git:
git clone https://github.com/mostafaabbasi/BlogSystem
cd BlogSystem
Run these commands to allow the certificates to be properly exported and mounted.
# Create the directory first in the main root of the project.
mkdir $env:APPDATA\ASP.NET\Https
# Now export the certificate
dotnet dev-certs https --clean
dotnet dev-certs https -ep $env:APPDATA\ASP.NET\Https\aspnetapp.pfx -p password123
dotnet dev-certs https --trust
Run docker compose
make up