David Headrick 2bdb1a8de6 Implement RESTful APIs for email management features
Created controllers for managing bounced emails, email domains, templates, test email lists, and unsubscribe URLs. Modified the ServersController for improved routing. Added DTOs and repository interfaces for new functionalities. Updated SetupDataContext for state management and adjusted frontend components for user interaction. Updated package dependencies for new features.
2025-03-03 19:15:16 -06:00
2025-02-17 10:41:28 -06:00

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

Description
Mass Email React Website
Readme 1.4 MiB
Languages
TypeScript 64%
C# 35.5%
JavaScript 0.2%
CSS 0.2%