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: "Transaction Category"
type: OpenSpec
status: Draft
domain: Reward Campaign Management
---
# Transaction Category
## Requirement Definition
A reusable group of conditions/criteria that define a specific category of transactions (e.g., "Dining transactions in Foreign Currency"). Allows efficient and reusable setup of Campaign Rule Criteria without needing multiple duplicated rules.
## Process Flow
### Pre-Conditions
- Users must have access rights.
- Criteria attributes must exist in the system.
## Business Rules
### Data Schema
| Field Name | Description | Logic Type | Constraints / Rules |
|---|---|---|---|
| Transaction Category Code | Unique identifier. | String (5) | Required. |
| Transaction Category Name | Name of category. | String (50) | Required. |
| Description | Description for reference. | String (100) | Optional. |
| Configuration | Groupings of criteria (AND/OR). | Rule Builder | Required. Same structure as Rule Criteria. |
### Execution
- Built using the Query Builder UI.
- Supports nested AND/OR logic.
- Includes NOT operators for exclusions.
- A Transaction Category acts as a single virtual criterion when configuring a Campaign Rule.
## Exception Flow
- N/A