- Step-by-step prompts for solution skeleton, domain model, DbContext mappings, application services, UI shell/pages, PDF export, and tests/validation
36 lines
2.1 KiB
Markdown
36 lines
2.1 KiB
Markdown
---
|
|
description: "Create the Duempelkas .NET 10 solution skeleton with Photino.Blazor desktop host, Razor class library, domain, infrastructure, and test projects"
|
|
agent: "agent"
|
|
---
|
|
|
|
# Step 1: Solution Skeleton
|
|
|
|
Create the complete .NET 10 solution structure for the Duempelkas cashbook/personal-finance application.
|
|
|
|
## Projects
|
|
|
|
| Project | SDK | Output | NuGet Packages | Project References |
|
|
|---------|-----|--------|----------------|--------------------|
|
|
| `src/Duempelkas.Desktop` | Microsoft.NET.Sdk | Exe | Photino.Blazor | App, Infrastructure |
|
|
| `src/Duempelkas.App` | Microsoft.NET.Sdk.Razor | Library | — | Domain |
|
|
| `src/Duempelkas.Domain` | Microsoft.NET.Sdk | Library | — | — |
|
|
| `src/Duempelkas.Infrastructure` | Microsoft.NET.Sdk | Library | Microsoft.EntityFrameworkCore.Sqlite, Microsoft.EntityFrameworkCore.Design, QuestPDF | Domain, App |
|
|
| `tests/Duempelkas.Tests` | Microsoft.NET.Sdk | Library | xunit, xunit.runner.visualstudio, Microsoft.NET.Test.Sdk, FluentAssertions | Domain, Infrastructure, App |
|
|
|
|
All projects target `net10.0`, enable nullable reference types, and use implicit usings.
|
|
|
|
## Key Files to Create
|
|
|
|
- `src/Duempelkas.Desktop/Program.cs` — Photino.Blazor startup: register DI services (DbContext, application services), register root Blazor component `<App>`, configure window title and size, handle unhandled exceptions.
|
|
- `src/Duempelkas.Desktop/wwwroot/index.html` — HTML host page with Bootstrap 5 CDN, app CSS link, and `<app>` root element.
|
|
- `src/Duempelkas.App/Components/App.razor` — Root Blazor component with Router.
|
|
- `src/Duempelkas.App/Components/Routes.razor` — Router pointing to `Duempelkas.App.Pages` assembly.
|
|
- `src/Duempelkas.App/Components/Layout/MainLayout.razor` — Shell layout with sidebar/nav and main content area.
|
|
- `src/Duempelkas.App/_Imports.razor` — Global usings for Microsoft.AspNetCore.Components, Duempelkas namespaces.
|
|
|
|
## Conventions
|
|
|
|
- File-scoped namespaces everywhere.
|
|
- Root namespace matches folder structure: `Duempelkas.Desktop`, `Duempelkas.App`, etc.
|
|
- Place the `.sln` file at the repository root.
|