SSF.Onion.Sln
8.4.1
dotnet tool install --global SSF.Onion.Sln --version 8.4.1
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local SSF.Onion.Sln --version 8.4.1
#tool dotnet:?package=SSF.Onion.Sln&version=8.4.1
nuke :add-package SSF.Onion.Sln --version 8.4.1
Description This template, developed by Sajad Khalili, is designed for developers who wish to use the CQRS pattern and Onion architecture in both Monolith and Microservice projects. This package provides an optimal structure to implement and maintain scalable, modular, and flexible applications.
Features Onion Architecture: Organizes and separates layers for improved structure and maintainability CQRS Pattern: Separates read and write operations for better performance and scalability Modular Design: Supports both Monolithic and Microservice projects with easy extendibility Multiple Templates: Includes SSFMicroService and SSFMonolith templates to suit different project structures Installation & Setup To use this package, simply create a new project with the selected template.
Available Templates This package provides three templates, allowing you to choose the one that best suits your project needs:
Modular Architecture Template: Use dotnet new modular-app to start a modular project. SSFMicroService Solution Template: Use dotnet new SSFMicroService for Microservice-based solutions with SSF structure. SSFMonolith Solution Template: Use dotnet new SSFMonolith for Monolithic projects with SSF structure. Create a New Project To create a new project with this template, run:
dotnet new SSFMonolith -n YourProjectName dotnet new modular-app -n YourProjectName
dotnet new SSFMicroService -n YourProjectName
Configuration Options The template configuration files allow you to modify module and project names. For example, in ModularApp.Template, you can change the module name with the following setting:
Project Structure and Files This template includes multiple projects and files organized into distinct layers:
Core: Contains Domain, Application, and Domain.Shared projects to manage core logic and domain rules. Infra: Infrastructure projects such as MongoDB.Queries, MongoDB.Commands, EF.Queries, and EF.Commands for database handling. EndPoints: Includes EndPoint.Api and EndPoint.Grpc projects for API and Grpc services. Post-Creation Actions After project creation, the following actions may be necessary:
Restore NuGet Packages: Run dotnet restore to restore all project dependencies. Add Projects to Solution: Use the following command to add projects to your solution file:
dotnet sln ../YourSolution.sln add (ls -r **/*.csproj) Contributing If you have suggestions for improving this template or encounter issues, please submit a request or raise an issue on GitHub.
License This project is released under the MIT License.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
8.4.1 | 115 | 10/26/2024 |