David Headrick f4ac033c70 Refactor mailing and target sample management features
- Updated `UpdateMailing` to convert dates from UTC to local time.
- Renamed `GetTargetSample` to `TestTargetAsync` in `TargetsController`.
- Added `ConnectionStringTemplate` to `appsettings.Development.json`.
- Introduced `TestTargetSql` in `appsettings.json` for SQL queries.
- Created a new `TargetSample` class for target sample data structure.
- Updated `ITargetRepository` and `ITargetService` interfaces for new method signatures.
- Implemented `TestTargetAsync` in `TargetRepository` for sample data retrieval.
- Enhanced `MailingEdit.tsx` with new imports and validation for date fields.
- Added `MailingView` component for displaying mailing details.
- Introduced `ScheduleMailings` component for managing scheduled mailings.
- Updated `TargetSampleViewer` to accommodate new data structure.
- Modified routing in `App.tsx` to include scheduled mailings.
- Adjusted `NewMailings` component to manage mailing updates and removals.
2025-03-23 19:15:17 -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%