ASP.NET Core project structure — minimal APIs vs controllers, layer
95
93%
Does it follow best practices?
Impact
100%
2.50xAverage score across 5 eval scenarios
Passed
No known issues
Controllers folder exists
100%
100%
DTOs folder with records
0%
100%
DTO From() factory method
0%
100%
Services folder with business logic
100%
100%
No business logic in controllers
100%
100%
Typed exception classes
0%
100%
Centralized exception middleware
0%
100%
IServiceCollection extensions
0%
100%
appsettings.json not hardcoded
100%
100%
Health checks registered
0%
100%
Separate test project
100%
100%
DTOs folder with records
16%
100%
DTO From() factory method
0%
100%
Models vs DTOs separation
40%
100%
Services folder with interfaces
0%
100%
No business logic in controllers
20%
100%
IServiceCollection extension methods
0%
100%
Typed exceptions with middleware
0%
100%
appsettings.json with ConnectionStrings
100%
100%
appsettings.Development.json exists
100%
100%
Health checks registered
0%
100%
Separate test project
100%
100%
Endpoints folder used
0%
100%
No Controllers folder
0%
100%
MapGet/MapPost calls present
0%
100%
DTOs as records
0%
100%
DTO From() factory method
0%
100%
Services layer exists
100%
100%
IOptions for low-stock threshold
30%
100%
appsettings.json with config
100%
100%
Health checks registered
0%
100%
Data folder with DbContext
100%
100%
DTOs folder with records
0%
100%
DTO From() factory method
0%
100%
Models vs DTOs separation
25%
100%
Services with interfaces
100%
100%
No business logic in controllers
87%
100%
IOptions for page size config
100%
100%
appsettings.json with all config
100%
100%
appsettings.Development.json
100%
100%
IServiceCollection extension methods
0%
100%
Typed exceptions with middleware
0%
100%
Health checks registered
0%
100%
Separate test project
100%
100%
Services folder with business logic extracted
100%
100%
No business logic in controller
75%
100%
DTOs folder with records
50%
100%
DTO From() factory method
0%
100%
Typed exception classes
0%
100%
Centralized exception middleware
0%
100%
Models in separate folder
100%
100%
Data folder with DbContext
100%
100%
IServiceCollection extension methods
0%
100%
Service interface defined
100%
100%
appsettings.json with config
0%
100%