A solution template can be used for building an enterprise application on Asp.Net Core APIs. This follows the practices of Clean Architecture, Domain-Driven Design Practices as well as considers the OWASP Top Security Standards and performance practices which are suggested by Microsoft.
What's the objective of providing Clean Architecture Template?
The overall objective is to design the Clean Architecture template which extends the AspNetCore feature in an optimum way. As Asp.Net Core is a top-class framework and this provides a lot of things. But when we talk about the enterprise application then the plain Scaffold template won't work, Because we need one robust architecture that takes care of the application security, performance, necessary patterns, RESTful Design Practices, and topmost principles/practices along with good coding conventions, modularity, maintainability, and extensibility. It's a bit clumsy and confusing task (As per me 😃).
This is just a start for providing all these things in the one template solution of RxWeb Clean Architecture of AspNetCore Api. We can enhance the base template and do the necessary changes as and when required. You can share your exemplary inputs on the GitHub repo or feel free to make a pull request for the betterment of the template. This helps others too 👍.
What is something different?
Have a look at the below code, then after will talk in detail 😃 :
Attributes are a powerful feature in the C#, This gives the biggest benefit of re-usability, rapid development and code look cleaner, Because we don't need to create multiple classes to handle every specific task like entity validation, timezone management, value conversion, etc. This is one of the key area in this template, there are lots of other things are implemented in a nice and structured way.
Examine the project structure
As RxWeb follows the practices of Clean Architecture, Based upon this the project structure is divided into several layers of Models, Domain services, Bounded context, Application core and API which adds the practices of separation of concerns for simplification and maintainable code.
How many features are included in the template without writing the extra line of code?
What about the Scaffolding after project creation?
You can use the
This will generate the classes/referencing the object according to the principles/practices of :
This will generate the following things:
If you have any suggestions in the template, please share .
The documentation work is going on as well as the template up-gradation. If you have any question feel to join the [rxweb gitter channel] (https://gitter.im/rxweb-project/rxweb)