Split into Budget.Core / Budget.Infrastructure / Budget.Api projects

Budget.Core: entities, DTOs, enums, FrequencyCalculator (no EF/ASP.NET deps)
Budget.Infrastructure: AppDbContext, migrations, BudgetAuthorizationService
Budget.Api: controllers, middleware, Program.cs — references both projects

EF and Npgsql packages moved to Infrastructure; Api retains only JwtBearer,
HealthChecks, and EF.Design (needed for dotnet ef CLI). Dockerfile updated
to copy all three project directories before publishing. Migration namespaces
updated from Budget.Api.Data.* to Budget.Infrastructure.Data.* and model
type strings updated to Budget.Core.Models.* in the snapshot.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Spencer Twaddle
2026-05-02 16:30:31 -05:00
parent c3d1420c4c
commit 087fbdd176
37 changed files with 826 additions and 78 deletions
+30
View File
@@ -4,6 +4,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Budget.Api", "src\Budget.Api\Budget.Api.csproj", "{39EAC168-4C28-4259-8A96-8E7B4D95F22B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Budget.Core", "src\Budget.Core\Budget.Core.csproj", "{9F974F0A-457D-4FCA-8D79-078F896D00C1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Budget.Infrastructure", "src\Budget.Infrastructure\Budget.Infrastructure.csproj", "{B52D57CF-3F59-4E49-B60E-E988AC90614F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -26,11 +30,37 @@ Global
{39EAC168-4C28-4259-8A96-8E7B4D95F22B}.Release|x64.Build.0 = Release|Any CPU
{39EAC168-4C28-4259-8A96-8E7B4D95F22B}.Release|x86.ActiveCfg = Release|Any CPU
{39EAC168-4C28-4259-8A96-8E7B4D95F22B}.Release|x86.Build.0 = Release|Any CPU
{9F974F0A-457D-4FCA-8D79-078F896D00C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9F974F0A-457D-4FCA-8D79-078F896D00C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9F974F0A-457D-4FCA-8D79-078F896D00C1}.Debug|x64.ActiveCfg = Debug|Any CPU
{9F974F0A-457D-4FCA-8D79-078F896D00C1}.Debug|x64.Build.0 = Debug|Any CPU
{9F974F0A-457D-4FCA-8D79-078F896D00C1}.Debug|x86.ActiveCfg = Debug|Any CPU
{9F974F0A-457D-4FCA-8D79-078F896D00C1}.Debug|x86.Build.0 = Debug|Any CPU
{9F974F0A-457D-4FCA-8D79-078F896D00C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9F974F0A-457D-4FCA-8D79-078F896D00C1}.Release|Any CPU.Build.0 = Release|Any CPU
{9F974F0A-457D-4FCA-8D79-078F896D00C1}.Release|x64.ActiveCfg = Release|Any CPU
{9F974F0A-457D-4FCA-8D79-078F896D00C1}.Release|x64.Build.0 = Release|Any CPU
{9F974F0A-457D-4FCA-8D79-078F896D00C1}.Release|x86.ActiveCfg = Release|Any CPU
{9F974F0A-457D-4FCA-8D79-078F896D00C1}.Release|x86.Build.0 = Release|Any CPU
{B52D57CF-3F59-4E49-B60E-E988AC90614F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B52D57CF-3F59-4E49-B60E-E988AC90614F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B52D57CF-3F59-4E49-B60E-E988AC90614F}.Debug|x64.ActiveCfg = Debug|Any CPU
{B52D57CF-3F59-4E49-B60E-E988AC90614F}.Debug|x64.Build.0 = Debug|Any CPU
{B52D57CF-3F59-4E49-B60E-E988AC90614F}.Debug|x86.ActiveCfg = Debug|Any CPU
{B52D57CF-3F59-4E49-B60E-E988AC90614F}.Debug|x86.Build.0 = Debug|Any CPU
{B52D57CF-3F59-4E49-B60E-E988AC90614F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B52D57CF-3F59-4E49-B60E-E988AC90614F}.Release|Any CPU.Build.0 = Release|Any CPU
{B52D57CF-3F59-4E49-B60E-E988AC90614F}.Release|x64.ActiveCfg = Release|Any CPU
{B52D57CF-3F59-4E49-B60E-E988AC90614F}.Release|x64.Build.0 = Release|Any CPU
{B52D57CF-3F59-4E49-B60E-E988AC90614F}.Release|x86.ActiveCfg = Release|Any CPU
{B52D57CF-3F59-4E49-B60E-E988AC90614F}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{39EAC168-4C28-4259-8A96-8E7B4D95F22B} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{9F974F0A-457D-4FCA-8D79-078F896D00C1} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{B52D57CF-3F59-4E49-B60E-E988AC90614F} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
EndGlobalSection
EndGlobal