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.
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
- Install node.js v22.13.1
- Recommended to install nvm for Windows, then in command prompt, type: nvm install 22.13.1
- Then type: nvm use 22.13.1
- Then to verify, type: node -v # Should return v22.13.1
- 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
- Surge365.MassEmailReact.Domain - Contains core business logic and domain entities.
- Surge365.MassEmailReact.Application - Handles application logic and use cases. Depends on
Domain. - Surge365.MassEmailReact.Infrastructure - Provides data access, external integrations, and persistence. Depends on
ApplicationandDomain. - Surge365.MassEmailReact.API - The API layer that serves endpoints. Depends on
ApplicationandInfrastructure. - Surge365.MassEmailReact.Web - The front-end application. Communicates with
API. - Surge365.MassEmailReact.UnitTests - Contains unit tests for various layers of the application.
API ───► Application ───► Domain
API ───► Infrastructure ───► Application & Domain
Description
Languages
TypeScript
64%
C#
35.5%
JavaScript
0.2%
CSS
0.2%