The goal of this project is to provide a default and well structured C# project template.
//TODO:
The BackEnd is split into four different layers
- API Layer: it contains the entry point of the backend.
- It should act as a Dummy caller for the services.
- Services Layer: It contains the main logic of the application.
- ServiceDependencies Layer: All the services or the logic of the application will contain some dependencies. You should reference those dependencies here.
- Dependencies are not meant to be tested.
- Data Layer: It contains access to the database
- Currently is using
entity framework
andmysql
but it can be changed very easily.
- Currently is using
The application contains Unit Tests on the services and for the testable classes in the API layer.
Note: the service dependencies layer should not be tested.
TODO:
The project uses Railway Oriented Programming as a structure for the error handling.
It also uses Netmentor.DiContainer as Dependency injection container.
If you are interested in helping, do not hesitate and send a PR or submit an issue with your ideas!