CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/aspnet-project-structure

ASP.NET Core project structure — minimal APIs vs controllers, layer

95

2.50x
Quality

93%

Does it follow best practices?

Impact

100%

2.50x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

Evaluation results

100%

56%

Clinic Appointment Scheduling API

Criteria
Without context
With context

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%

100%

70%

E-Commerce Order Management API

Criteria
Without context
With context

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%

100%

72%

Inventory Tracking Microservice

Criteria
Without context
With context

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%

100%

49%

Recipe Sharing API

Criteria
Without context
With context

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%

100%

53%

Support Ticket System — Refactor Monolithic Controller

Criteria
Without context
With context

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%

Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents