Project structure
Directorysrc/
DirectoryApplication/ the domain and the rules
DirectoryAuthors/ queries and entities for authors
- …
DirectoryMovies/ queries and entities for movies
- …
DirectoryReviews/ queries, commands and entities for reviews
- …
DirectoryVersions/ the version query
- …
DirectoryCommon/
DirectoryBehaviours/ the validation pipeline behaviour
- …
DirectoryExceptions/ NotFoundException
- …
DirectoryPaging/ shared paging rules
- …
- DependencyInjection.cs
DirectoryInfrastructure/ the data
DirectoryDatabases/MovieReviews/ the EF Core context, models, mapping, migrations and repositories
- …
- DependencyInjection.cs
DirectoryPresentation/ the MCP server
DirectoryTools/ one static class of tools per feature
- …
DirectoryResources/ movies, authors, reviews and the version as resources
- …
DirectoryPrompts/ the movie prompts
- …
DirectoryCompletions/ argument completion for the prompts
- …
DirectoryModels/ the results the tools return, and the mapper that builds them
- …
DirectoryErrors/ Application exceptions to tool errors and protocol errors
- …
DirectorySerialization/ the source-generated JSON context
- …
DirectoryAuthentication/ the JWT bearer and resource metadata settings
- …
DirectoryExtensions/ builder and app configuration
- …
- Program.cs
- appsettings.json, appsettings.local.json, appsettings.docker.json
Directorytests/
DirectoryApplication.Tests.Unit/
- …
DirectoryInfrastructure.Tests.Integration/
- …
DirectoryPresentation.Tests.Integration/
- …
DirectoryPresentation.Tests.Unit/
- …
- docs/RUN.md
- Directory.Build.props build rules and analyzers for every project
- Directory.Packages.props every package version, in one place
- Dockerfile
- docker-compose.yml
- global.json
| Project | References | Notes |
|---|---|---|
| Presentation | Application, Infrastructure | References Infrastructure only to wire up dependency injection |
| Application | none | Owns the entities, the repository interfaces and the rules |
| Infrastructure | Application | Every class is internal |