feat: initialize project backend structure and document system specifications across all modules

This commit is contained in:
SonPhung
2026-07-24 09:05:41 +07:00
parent 506008c69f
commit 4534e4ecb8
74 changed files with 7989 additions and 44 deletions

View File

@@ -0,0 +1,36 @@
---
title: "Whitelist"
type: OpenSpec
status: Draft
domain: OneMarketing
---
# Whitelist
## Requirement Definition
A list of customers who have given consent or shown strong interest and are excluded from standard frequency cap rules, ensuring they receive all communications without limit.
## Process Flow
### Pre-Conditions
- Users must have access rights in the "Whitelist" module.
## Business Rules
### Data Schema
| Field Name | Description | Logic Type | Constraints / Rules |
|---|---|---|---|
| ID | Whitelist identifier. | String (10) | Required. |
| Name List | Name of the whitelist. | String (50) | Required. |
| Description | Description. | String (200) | Optional. |
| Input Type | Input from screen or Upload file. | Enum | Required. |
| Customer List | List of selected CIF numbers. | Array of Strings (Lookup) | Required if Input Type is "Input from screen". Requires >= 4 digits to search. |
| Upload File | Uploaded CSV/XLS file. | File | Required if Input Type is "Upload file". Max 50MB. |
### Execution
- Users can review or download the customer list.
- Whitelisted customers bypass frequency capping restrictions by default, unless a specific frequency cap explicitly opts to "Include Whitelist".
## Exception Flow
- Validation errors for file type/size during upload display an error message.