MassEmailReact/README.md
David Headrick dfb721c2f8 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`.
2025-02-20 09:21:22 -06:00

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