- Implemented Logout and RefreshToken methods in AuthenticationController. - Added IMailingService and IMailingRepository to Program.cs. - Updated project structure in Surge365.MassEmailReact.API.csproj. - Modified API host address and endpoints in Server.http. - Introduced AuthAppCode in appsettings.json for context distinction. - Changed GenerateTokens method to async in IAuthService. - Initialized string properties in User.cs to avoid null values. - Added new Mailing mapping in DapperConfiguration.cs. - Created MailingsController for handling mailing operations. - Developed Mailing, MailingUpdateDto, IMailingService, and IMailingRepository classes. - Updated frontend with MailingEdit and NewMailings components. - Enhanced authentication handling in AuthCheck.tsx and AuthContext.tsx. - Introduced ProtectedPageWrapper for route protection based on roles. - Added EmailList component for email input validation. - Updated utils.ts for token and cookie management functions. - Modified vite.config.ts for new HTTPS certificate name. - Updated CHANGELOG.md to reflect recent changes.
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%