No description
- CSS 42.7%
- C# 22.4%
- Python 14.5%
- HTML 12.9%
- JavaScript 4.3%
- Other 3.2%
- Directory.Build.props for centralized TargetFramework/Nullable/ImplicitUsings - DataStoring: AppDbContext + Repository<T> with Npgsql EF Core provider - DataStoring.Contract: IRepository<T> interface - PlaceholderWorkflows: IPlaceholderWorkflow + PlaceholderWorkflow implementation - PlaceholderManagement.Tests: xUnit unit tests (5 tests) - Counter.razor page added, Home.razor dead link removed - CI: Docker build verification job added - All .csproj files cleaned up (duplicate props removed) |
||
|---|---|---|
| .forgejo | ||
| docs | ||
| src | ||
| tests | ||
| .dockerignore | ||
| .gitignore | ||
| .repomixignore | ||
| Directory.Build.props | ||
| docker-compose.yaml | ||
| LICENSE | ||
| ProjectName.sln | ||
| README.md | ||
| repomix.config.json | ||
dotnet-webapp-template
A layered .NET template following the dotnet-coding-guide.md architecture pattern.
Project Structure
src/
├── ProjectName.sln
├── CrossCutting/
│ └── DataClasses/ # Logic-less POCOs
├── Logic/
│ ├── Domain/ # Management (implements interfaces)
│ │ ├── PlaceholderManagement/
│ │ └── PlaceholderManagement.Contract/
│ └── Business/ # Workflows
│ ├── PlaceholderWorkflows/
│ └── PlaceholderWorkflows.Contract/
├── Infrastructure/
│ └── DiMappings/ # Dependency injection
├── Data/ # Persistence (optional)
│ ├── DataStoring/
│ └── DataStoring.Contract/
└── UI/
├── ServiceClient/
└── WebClient/
Architecture
| Layer | Purpose | Namespace Pattern |
|---|---|---|
| DataClasses | POCOs, no logic | RepoOwner.ProjectName.CrossCutting.DataClasses |
| Domain.Contract | Interfaces | RepoOwner.ProjectName.Logic.Domain.*.Contract |
| Domain | Domain logic (Managers) | RepoOwner.ProjectName.Logic.Domain.* |
| Business.Contract | Workflow interfaces | RepoOwner.ProjectName.Logic.Business.*.Contract |
| Business | Process orchestration | RepoOwner.ProjectName.Logic.Business.* |
| DataStoring.Contract | Persistence interfaces | RepoOwner.ProjectName.Data.DataStoring.Contract |
| DataStoring | EF Core repositories | RepoOwner.ProjectName.Data.DataStoring |
| DiMappings | DI registration | RepoOwner.ProjectName.Infrastructure.DiMappings |
Getting Started
dotnet build
dotnet test
Development
docker compose up -d