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`.
37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# MassEmailReact
|
|
|
|
Mass Email React Website
|
|
|
|
to clone: in command prompt, go to the directory you want to clone the project to, then type:
|
|
|
|
git clone --branch main https://<your_username_here>@git.surge365.com/Surge365/MassEmailReact.git
|
|
|
|
## TO DO IF YOU WANT TO BUILD THIS PROJECT
|
|
|
|
1. Install node.js v22.13.1
|
|
2. Recommended to install nvm for Windows, then in command prompt, type:
|
|
nvm install 22.13.1
|
|
3. Then type:
|
|
nvm use 22.13.1
|
|
4. Then to verify, type:
|
|
node -v # Should return v22.13.1
|
|
5. Then to verify npm, type:
|
|
npm -v # Should return a version
|
|
|
|
## Project Structure
|
|
|
|
This project consists of multiple layers to ensure separation of concerns and maintainability.
|
|
|
|
### Project Descriptions and Dependency Order
|
|
|
|
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` 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
|