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: "Blacklist"
type: OpenSpec
status: Draft
domain: OneMarketing
---
# Blacklist
## Requirement Definition
A list of customers excluded from marketing campaigns for strategic reasons (e.g., fraud).
## Process Flow
### Pre-Conditions
- Users must have access rights in the "Black List" module.
## Business Rules
### Data Schema
| Field Name | Description | Logic Type | Constraints / Rules |
|---|---|---|---|
| ID | Blacklist identifier. | String (10) | Required. |
| Name List | Name of the blacklist. | 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.
- Blacklisted customers are strictly blocked from receiving notifications from OMR.
## Exception Flow
- Validation errors for file type/size during upload display an error message.