-
Notifications
You must be signed in to change notification settings - Fork 0
Setup .NET 8.0 solution with Clean Architecture #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Created 7 projects (Domain, Application, Infrastructure, API, 3 test projects) - Configured project dependencies per Clean Architecture - Added EF Core 8.0.10 to Infrastructure - Added Serilog, Swagger to API - Added test frameworks (xUnit, FluentAssertions, Moq, SpecFlow, WebApplicationFactory) - Created ApplicationDbContext - Created Program.cs with health check endpoint - All projects target .NET 8.0 - Solution builds successfully with zero errors Co-authored-by: BatraXPankaj <174004030+BatraXPankaj@users.noreply.github.com>
- Added .gitkeep to all empty folders per Clean Architecture spec - Preserves Domain/Entities, Domain/Interfaces, Domain/Enums - Preserves Application/Services, Application/Interfaces, Application/Mappings - Preserves Infrastructure/Repositories - Preserves BDD.Tests/Features, BDD.Tests/StepDefinitions Co-authored-by: BatraXPankaj <174004030+BatraXPankaj@users.noreply.github.com>
|
❌ CI Checks: Some checks failed or are still running Quality Criteria:
Required for auto-approval:
💡 Tip: This PR needs human review before merging. |
1 similar comment
|
❌ CI Checks: Some checks failed or are still running Quality Criteria:
Required for auto-approval:
💡 Tip: This PR needs human review before merging. |
- Created comprehensive issue set across all 9 project phases - Phase 1 (Foundation): 6 issues - solution setup, initial configs - Phase 2 (Content): 9 issues - quotes/bios/timeline for all 7 traditions - Phase 3 (Domain): 3 issues - entities, interfaces, value objects - Phase 4 (Infrastructure): 8 issues - EF Core, migrations, repositories, seed data - Phase 5 (Application): 8 issues - DTOs, services for all domains - Phase 6 (API): 8 issues - REST endpoints, search, daily quote - Phase 7 (Advanced): 6 issues - caching, search, rate limiting, analytics - Phase 8 (Testing): 5 issues - unit, integration, BDD, performance tests - Phase 9 (Frontend): 12 issues - static website, 10 pages/components - Phase 10 (Deployment): 7 issues - Docker, Azure, CI/CD, monitoring Total: 85 issues created (exceeds target of 77) Added batch creation scripts: - create-remaining-issues.ps1 (Phase 1-2) - create-application-issues.ps1 (Phase 5) - create-api-advanced-testing-issues.ps1 (Phases 6-8) - create-frontend-deployment-issues.ps1 (Phases 9-10) - create-all-remaining-issues.ps1 (comprehensive) - create-final-issues.ps1 (final 16 issues) Added documentation: - ISSUE_CREATION_SUMMARY.md - Complete breakdown of all 85 issues Current status: - 6 issues assigned to Copilot (PRs #8, #13-#16, #18 active) - 4 content issues ready to assign (#19-#22) - 67 issues waiting on dependencies - Auto-assignment workflow ready to cascade assignments Next: Assign remaining content issues (#19-#22) to Copilot for parallel execution
|
⏰ This PR has been inactive for 14 days PRs should move quickly through the pipeline. This will close in 7 days. For agent-generated PRs: Consider closing and reassigning issue to agent with improved specs. For human PRs: Please update or request review to keep active. |
|
🔒 Closing stale PR Closed due to 21 days of inactivity. Please reopen if still needed. |
Establishes the foundational solution structure for the Ancient Wisdom API following Clean Architecture principles with strict dependency inversion.
Solution Structure
Core Projects (4)
Domain- Zero external dependencies, pure C# entities/interfaces/enumsApplication- Business logic, depends only on DomainInfrastructure- EF Core 8.0.10 data access, implements Domain interfacesAPI- ASP.NET Core 8.0 presentation layer with Serilog + SwaggerTest Projects (3)
UnitTests- xUnit + FluentAssertions + MoqIntegrationTests- xUnit + WebApplicationFactoryBDD.Tests- SpecFlow + xUnitKey Implementation Details
ApplicationDbContext (
Infrastructure/Data)API Program.cs - Minimal API with health checks and Swagger
Endpoints
GET /api/health- Health check (returns "Healthy")/swagger- OpenAPI documentation (dev only)Directory Scaffold
Empty directories preserved with
.gitkeepfor:Entities/,Interfaces/,Enums/Services/,Interfaces/,Mappings/Repositories/Features/,StepDefinitions/Ready for entity definitions and repository implementations.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
cdn.devlooped.com/usr/share/dotnet/dotnet exec /usr/share/dotnet/sdk/9.0.305/Roslyn/bincore/VBCSCompiler.dll -pipename:IBB6DjyJjtltr35bjiEuT_O5AePjFZHqgj3RRFZeX_8(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
This section details on the original issue you should resolve
<issue_title>Setup .NET 8.0 Solution Structure with Clean Architecture</issue_title>
<issue_description># Issue #1: Setup .NET 8.0 Solution Structure with Clean Architecture
Labels:
feature,copilot-ready,size/M,phase-1,setupUser Story
As a developer
I want a properly structured .NET 8.0 solution following Clean Architecture
So that the codebase is maintainable, testable, and follows best practices
Acceptance Criteria (BDD Scenarios)
Scenario 1: Solution structure follows Clean Architecture
Given I am setting up a new .NET 8.0 solution
When I create the solution and project files
Then the solution should have the following projects:
AncientWisdom.Domain(no external dependencies)AncientWisdom.Application(depends on Domain)AncientWisdom.Infrastructure(depends on Domain)AncientWisdom.API(depends on Application + Infrastructure)And each project should target
.NET 8.0And all projects should compile successfully
Scenario 2: Domain project has no external dependencies
Given the Domain project is created
When I inspect the Domain project file
Then it should have ZERO NuGet package dependencies
And it should only contain C# language features
And it should define core entities and interfaces
Scenario 3: Test projects are configured correctly
Given the solution is created
When I add test projects
Then the solution should include:
AncientWisdom.UnitTests(xUnit + FluentAssertions + Moq)AncientWisdom.IntegrationTests(xUnit + WebApplicationFactory)AncientWisdom.BDD.Tests(SpecFlow + xUnit)And all test projects should reference appropriate application projects
And test projects should include necessary testing NuGet packages
Scenario 4: Infrastructure project has EF Core configured
Given the Infrastructure project is created
When I add database dependencies
Then the project should include:
Microsoft.EntityFrameworkCore(version 8.0.x)Microsoft.EntityFrameworkCore.SqlServer(version 8.0.x)Microsoft.EntityFrameworkCore.Tools(version 8.0.x)And the project should have a placeholder
ApplicationDbContext.csclassAnd the DbContext should inherit from
DbContextScenario 5: API project is configured for ASP.NET Core Web API
Given the API project is created
When I configure the Web API project
Then the project should include:
Microsoft.AspNetCore.OpenApifor SwaggerSwashbuckle.AspNetCorefor API documentationSerilog.AspNetCorefor loggingAnd the
Program.csshould configure Swagger/OpenAPIAnd the project should have a Health Check endpoint configured
Technical Implementation Hints
Files to Create:
NuGet Package Versions:
ApplicationDbContext.cs Template:
Program.cs Template (Minimal API style):