https://github.com/guilhermestracini/cqrs-boilerplate-dotnet
💡 🏗️ A boilerplate CQRS (API + Worker) template for .NET
https://github.com/guilhermestracini/cqrs-boilerplate-dotnet
api api-rest boilerplate boilerplate-dotnet boilerplate-template command cqrs cqrs-worker cs csharp hacktoberfest query worker
Last synced: about 1 month ago
JSON representation
💡 🏗️ A boilerplate CQRS (API + Worker) template for .NET
- Host: GitHub
- URL: https://github.com/guilhermestracini/cqrs-boilerplate-dotnet
- Owner: GuilhermeStracini
- License: mit
- Created: 2024-01-19T14:42:37.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-08T13:08:41.000Z (about 1 year ago)
- Last Synced: 2024-04-09T16:59:01.803Z (about 1 year ago)
- Topics: api, api-rest, boilerplate, boilerplate-dotnet, boilerplate-template, command, cqrs, cqrs-worker, cs, csharp, hacktoberfest, query, worker
- Language: C#
- Homepage: https://guilhermestracini.github.io/cqrs-boilerplate-dotnet/
- Size: 119 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# 🚀 CQRS (API + Worker) boilerplate template for .NET 🔷
💡🏗️ A boilerplate template for building **CQRS projects** (API + Worker) in **.NET C#**
---
## 📜 About
This repository is a **template** for kickstarting **CQRS-based solutions** in **.NET C#**. It includes both an **API project** and a **worker project** to streamline development and maintain a clean separation of concerns.
🧩 **CQRS** (Command Query Responsibility Segregation) is an architectural pattern that separates the **read operations** (queries) from **write operations** (commands), improving scalability and maintainability.
🔧 **Out of the box** features include:
- Pre-configured solution structure.
- **CI pipeline** with [AppVeyor](https://www.appveyor.com/).
- Support for **Windows**, **Linux**, and **macOS** environments.> 💡 **Tip:**
> AppVeyor CI is free for open-source projects. For private repositories, explore other CI tools like GitHub Actions, CircleCI, TeamCity, or Azure DevOps.---
## ⚙️ Setup Instructions
> ⚠️ **Note:** The automated process supports **Windows**, **Linux**, and **macOS** environments.
### 🚀 Automated process
1. Click the green button **USE THIS TEMPLATE**.
2. Name your new project/repository.
3. Clone your newly created repository to your local machine.
4. Run the appropriate setup script for your OS:
- 🪟 On Windows: Execute `initial-setup.bat` or `initial-setup.ps1`
- 🐧 On Linux/Mac: Execute `initial-setup.sh`
5. Follow the on-screen instructions in your terminal.---
### 🛠️ Manual process
If you prefer setting things up manually:
1. Click the green button **USE THIS TEMPLATE**.
2. Name your new project/repository.
3. Clone your newly created repository to your local machine.
4. Clean up and customize the project structure:
- Delete this file (`README.md`) and rename `README.template.md` to `README.md`.
- Update `appveyor.yml` with your **CI tokens** (use secure tokens) or replace AppVeyor with your preferred CI tool (GitHub Actions, Jenkins, CircleCI, TeamCity, Azure DevOps).
- Rename `SolutionName.sln` to your project/solution name.
- Update project names:
- `SolutionName.csproj`
- `SolutionName.Tests.csproj`
- `SolutionName.IntegrationTests.csproj`
- Update namespaces in the `Src/` and `Tests/` directories.
- Adjust test project references in:
- `Tests/SolutionName.Tests.csproj`
- `Tests/SolutionName.IntegrationTests.csproj`.
- Fix the badge paths in `README.md` (replace `{username}/{repo}` with your own details).
- Add usage instructions for your CQRS solution to `README.md`.
- Update `_config.yml` with project metadata for your GitHub Pages documentation site.---
## 📄 License
This project is licensed under the **MIT License**.
🔗 [View LICENSE](https://github.com/guibranco/cqrs-boilerplate-dotnet/blob/main/LICENSE) or read more at [opensource.org/licenses/MIT](http://opensource.org/licenses/MIT).
⚖️ Feel free to replace the license with one that better suits your project's needs.
---
## 🎯 Key Highlights
- 🔷 **Built with .NET C#**
- 🏗️ **CQRS Design**: Clean separation of commands and queries.
- 🔄 **Cross-platform Support**: Windows, Linux, and macOS.
- 🛠️ **CI Ready**: Pre-configured AppVeyor pipeline (customizable).
- 🚀 **Quick Setup**: Automated scripts for easy initialization.---
## 📢 Contributing
We welcome contributions! Feel free to submit issues, pull requests, or suggestions to improve this boilerplate.
---
**Happy coding!** 🎉👨💻👩💻