Paulovich.Caju
0.3.1
See the version list below for details.
dotnet new install Paulovich.Caju::0.3.1
Caju: Back-end with awesome architectures made easy!
Service Template to help you build evolvable and maintainable applications. It follows the principles from the Clean Architecture book and built on Domain-Driven Design. This tool increases productivity on developing your next microservices.
Generate your own awesome Back-end!
<a href="https://www.nuget.org/packages/Paulovich.Caju/" rel="Paulovich.Caju"></a>
To generate your own awesome .NET Back-end simple run:
dotnet new -i Paulovich.Caju::0.3.1
dotnet new caju
The Architecture Styles
This architecture implementations are a software that encapsulate Business Rules in Use Cases and the Enteprise Rules in Entities. We prevent our software to be coupled from technology details like User Interface, Data Access frameworks or Web Servers. And there is some concepts which guided us:
Concept | Description |
---|---|
DDD | This Bounded Context of this project contains the Ubiquitious Language around Account Balance and designed inside Domain Layer and Application layer. We use the Eric Evans terms like Entities, Value Object, Aggregates Root and Domain Events. |
SOLID | The SOLID principles are all over the the solution. |
Entity-Boundary-Interactor (EBI) | The software implementation is agnostic from technology, framework, or database. The result is focus on the use cases with input/output ports. |
Microservice | Designed around the Business Domain, having Continous Delivery and Independent Deployment. |
Sample applications
Run dotnet new -i Paulovich.Caju
then try the following commands.
Clean Architecture Solution with basic use cases:
dotnet new caju \
--architecture-style clean \
--use-cases basic
Hexagonal Architecture Solution with all use cases:
dotnet new caju \
--architecture-style hexagonal \
--use-cases full
Empty Event-Sourcing Solution:
dotnet new caju \
--architecture-style eventsourcing \
--use-cases empty
For olher solution types check out the Caju Samples folder.
Switches
There are switches to generate your awesome application with your needs. Try after dotnet new caju
:
Switch | Default Value | Options |
---|---|---|
--architecture-style | clean |
clean hexagonal eventsourcing |
--use-cases | full |
full basic readonly none |
--user-interface | webapi |
webapi consoleapp wcf none |
--data-access | mongo |
mongo entityframework dapper none |
--service-bus | kafka |
kafka none |
--tips | true |
true false |
--skip-restore | false |
true false |
Run dotnet new caju --help
for the complete list of switches.
Roadmap
- Allow to choose the architecture style
- Allow to choose the built-in use cases sets
- Full set of use cases ✅
- Basic set of use cases ✅
- Read Only ✅
- None ✅
- Allow to choose the data access frameworks
- MongoDB ✅
- Dapper ✅
- Entity Framework ✅
- Azure Cosmos DB
- None ✅
- Allow to choose the UI frameworks
- Both
- WebAPI ✅
- Console
- None ✅
- Allow to choose the Service Bus frameworks
- Kafka ✅
- Azure Event Bus
- None ✅
- Allow to skip the dotnet restore after code generation ✅
- Allow to include or to remove the architecture tips ✅
Common Issues
Check your .NET Core SDK. Our features are only supported in 2.1.4
SDK or plus.
$ dotnet --version
2.1.4
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.7.3 | 5,258 | 9/22/2019 |
0.7.2 | 1,785 | 9/22/2019 |
0.7.1 | 1,688 | 9/22/2019 |
0.7.0 | 1,922 | 9/22/2019 |
0.6.0 | 3,501 | 7/11/2018 |
0.5.0 | 2,378 | 5/13/2018 |
0.4.4 | 2,187 | 5/13/2018 |
0.4.2 | 2,346 | 4/26/2018 |
0.4.1 | 2,216 | 4/25/2018 |
0.4.0 | 2,351 | 4/19/2018 |
0.3.3 | 2,155 | 4/18/2018 |
0.3.2 | 2,166 | 4/18/2018 |
0.3.1 | 2,225 | 4/10/2018 |
0.3.0 | 2,180 | 4/10/2018 |
0.2.98 | 2,238 | 4/9/2018 |
0.2.97 | 2,134 | 4/8/2018 |
0.2.96 | 2,051 | 4/8/2018 |
0.2.94 | 2,305 | 4/8/2018 |
0.2.93 | 2,179 | 4/8/2018 |
0.2.91 | 2,329 | 4/8/2018 |
0.2.90 | 2,189 | 4/7/2018 |
0.2.86 | 2,142 | 4/7/2018 |
0.2.85 | 1,969 | 4/5/2018 |
0.2.84 | 2,134 | 4/2/2018 |
-- Entity Framework support
-- FIX dependencies on dotnet new restore
- Architecture styles support
-- Clean architecture with Input/Output/Interactors
-- Hexagonal architecture with CommandHandlers, Commands and Command Results
-- Event Sourcing with CQRS and Domain Events
- WebAPI
- Docker images optimized for startup
- Mongo.Driver, EntityFramework.Core, Confluent.Kafka or Dapper data access frameworks
- Layerd application with (Application - Domain - Infrastructure - UI)
- Domain-Driven Design (Aggregates, Entities, Value Objects, Commands, Domain Events)
- Serilog Logging
- UI projects options
- Kafka as Service Bus or none.