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,37 @@
---
title: "Reward Campaign"
type: OpenSpec
status: Draft
domain: Reward Campaign Management
---
# Reward Campaign
## Requirement Definition
Acts as the parent container for Business Rules (Campaign Rules) controlling rewards and redemptions. Campaigns can be "Base" (core product) or "Tactical" (short-term objectives).
## Process Flow
### Pre-Conditions
- Users must have access rights.
## Business Rules
### Data Schema
| Field Name | Description | Logic Type | Constraints / Rules |
|---|---|---|---|
| Campaign ID | Identifier. | String (10) | Required. |
| Campaign Name | Name of the campaign. | String (50) | Required. >= 10 chars. |
| Campaign Owner | Owner reference. | String (50) | Optional. |
| Campaign Description | Description. | String (500) | Optional. |
| Campaign Type | Base or Tactical. | Enum (Lookup) | Required. |
| Target Active Customer Count | Expected participant count. | Integer | Optional. Insight metric. |
| Target Avg Transaction Value | Expected spend value. | Decimal | Optional. Insight metric. |
| Campaign Period | Earliest Rule start to latest Rule end. | Date Range | Read-only based on Rules. |
### Execution
- Campaigns simply group Rules logically. The actual execution logic is defined in the child Campaign Rules.
## Exception Flow
- N/A