Updated the application to use Azure Key Vault for managing secrets, including the addition of a new `SurgeKeyVaultSecretManager` class. Modified configuration files to include `KeyVaultName` and removed sensitive `Jwt` sections for enhanced security. Refactored `IAuthService` and `IUserRepository` to utilize DTOs instead of the `User` entity. Removed the `UserMap` class and updated the `UserRepository` to focus on DTOs for user management. The `AuthService` class now communicates with an external API for authentication, and new classes for API requests and responses have been added. Updated project dependencies to support Azure Key Vault integration.
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%