Skip to main content
MailGenie separates the browser experience from server-side business logic and delivery-provider access.

Web application

The React application provides contact management, campaign composition, account configuration, and reporting surfaces. It calls the API for authenticated data and operations; it must not embed provider secrets or database credentials.

API

The API owns authentication, tenant scoping, validation, campaign state, provider orchestration, and reporting contracts. Every request must remain inside the caller’s authorized organization.

Data and processing

PostgreSQL stores application records. Background processing handles asynchronous work such as campaign execution and provider result reconciliation. DEV and PROD use separate runtime and data authorities.

Delivery providers

Provider integrations are external boundaries. MailGenie stores only the governed references and runtime configuration required for authorized operations. Provider failures must remain visible and must not be converted into false success states.
Deployments to shared DEV or PROD lanes run through GitLab CI/CD. Local deployment commands and direct cluster mutations are not supported operational paths.