David Headrick ba01cfcaf7 Refactor authentication and restructure project architecture
This commit removes the `AuthenticationController.cs` and related DTOs, indicating a shift in authentication handling. The `BaseController.cs` has been updated to remove the authorization attribute, affecting access control. Multiple controllers have been restructured to reference `Surge365.Core.Controllers`.

Significant changes in `Program.cs` enhance security and service management with new middleware and JWT configurations. The project file now includes references to `Surge365.Core`, and the `IAuthService` interface has been updated accordingly.

React components have been modified to support the new authentication flow, including token refresh handling. The `customFetch.ts` utility has been improved for better session management. Mapping classes have been introduced or updated for improved entity mapping.

Overall, these changes enhance the application's architecture, security, and data handling processes.
2025-06-28 09:26:41 -05: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%