Update project dependencies and structure

Revised the dependency order in the project structure.
The `Surge365.MassEmailReact.API` now depends on both
`Application` and `Infrastructure`. Removed the reference
to `Infrastructure` in `Surge365.MassEmailReact.Application.csproj`.
Updated `Surge365.MassEmailReact.Infrastructure.csproj` to
include references to both `Application` and `Domain`.
Modified `Surge365.MassEmailReact.API.csproj` to include
a reference to `Surge365.MassEmailReact.Infrastructure`.
This commit is contained in:
David Headrick 2025-02-20 09:21:22 -06:00
parent f8df86f1b4
commit dfb721c2f8
4 changed files with 10 additions and 2 deletions

View File

@ -27,7 +27,10 @@ This project consists of multiple layers to ensure separation of concerns and ma
1. **Surge365.MassEmailReact.Domain** - Contains core business logic and domain entities.
2. **Surge365.MassEmailReact.Application** - Handles application logic and use cases. Depends on `Domain`.
3. **Surge365.MassEmailReact.Infrastructure** - Provides data access, external integrations, and persistence. Depends on `Application` and `Domain`.
4. **Surge365.MassEmailReact.API** - The API layer that serves endpoints. Depends on `Application`.
4. **Surge365.MassEmailReact.API** - The API layer that serves endpoints. Depends on `Application` and `Infrastructure`.
5. **Surge365.MassEmailReact.Web** - The front-end application. Communicates with `API`.
6. **Surge365.MassEmailReact.UnitTests** - Contains unit tests for various layers of the application.
API ───► Application ───► Domain
API ───► Infrastructure ───► Application & Domain

View File

@ -8,7 +8,6 @@
<ItemGroup>
<ProjectReference Include="..\Surge365.MassEmailReact.Domain\Surge365.MassEmailReact.Domain.csproj" />
<ProjectReference Include="..\Surge365.MassEmailReact.Infrastructure\Surge365.MassEmailReact.Infrastructure.csproj" />
</ItemGroup>
</Project>

View File

@ -6,4 +6,9 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Surge365.MassEmailReact.Application\Surge365.MassEmailReact.Application.csproj" />
<ProjectReference Include="..\Surge365.MassEmailReact.Domain\Surge365.MassEmailReact.Domain.csproj" />
</ItemGroup>
</Project>

View File

@ -18,6 +18,7 @@
<ItemGroup>
<ProjectReference Include="..\Surge365.MassEmailReact.Application\Surge365.MassEmailReact.Application.csproj" />
<ProjectReference Include="..\Surge365.MassEmailReact.Infrastructure\Surge365.MassEmailReact.Infrastructure.csproj" />
</ItemGroup>
</Project>