Appearance
System & Configuration
Admin-side system operations — price feeds, calculation rules, notifications, discount codes, and platform configuration.
System Components
1. Price Feed Management
Live cryptocurrency prices used throughout the platform:
| Purpose | Usage |
|---|---|
| Loan Calculator | Real-time collateral valuation |
| Health Monitoring | LTV and risk level calculations |
| Liquidation Triggers | Price threshold monitoring |
| Dashboard | Portfolio valuation |
- Price feeds sourced from exchanges via .NET background services:
- Bitazza — primary price feed provider (runs as
BitazzaBackgroundService) - Bitkub — secondary price feed provider
- Bitazza — primary price feed provider (runs as
- Stored in
price_feedcollection withlast_price,timestamp, andapi_provider - Freshness validation: prices must be < 24 hours old
- USDT/THB rate maintained separately for cross-currency calculations
- Polling interval: every 5 minutes on user-facing pages
2. Calculation Rule Configuration
Loan parameters are driven by configurable rules in the calculation_rule collection:
| Parameter | Description |
|---|---|
| Asset Type | Which cryptocurrency the rule applies to |
| Loan Duration | Duration period (30/60/90 days) |
| Loan Amount Range | Min/max loan value for this rule |
| LTV Percentage | Loan-to-value ratio |
| Fee Rate | Processing fee percentage |
| Interest Rate | Annual interest rate |
| Duration Rate | How duration maps to annual rate |
Rules are matched by:
- Asset type
- Loan duration
- Loan amount (ordered by
loan_value)
Admin can configure different rates for different asset types, durations, and loan sizes.
3. Email Template Management
System emails triggered by various events:
| Trigger | |
|---|---|
| Registration | Welcome email |
| KYC Approved | KYC approval confirmation |
| Loan Approved | Loan approval with details |
| Loan Rejected | Rejection with reason |
| Loan Active | Disbursement confirmation |
| Close to Matured | Maturity reminder |
| Late Payment | Overdue payment warning |
| Liquidation | Liquidation notification |
| Repayment Confirmed | Repayment receipt |
| Extension Activated | Extension confirmation |
| Withdrawal Processed | Withdrawal confirmation |
Templates managed via Directus and processed by .NET backend email service.
4. Announcements & Notifications
| Type | Description | Admin Control |
|---|---|---|
| Announcements | Platform-wide notices (maintenance, promotions) | Create/edit in CMS |
| Notifications | User-specific alerts (loan status, payments) | Auto-generated by system |
| Reminders | Loan health warnings, maturity alerts | Auto-generated, configurable thresholds |
User-facing refresh intervals:
- Announcements: 5 minutes
- Notifications: 2 minutes
5. Discount Code Management
Promotional discounts applied to loan fees:
| Parameter | Description |
|---|---|
| Code | Unique string code |
| Discount Type | Fee, Interest, or both |
| Discount Amount | Percentage or fixed amount |
| Validity Period | Start and end date |
| Usage Limits | Max uses per code / per user |
First-time Borrower Promotion
Special automatic discount:
- Eligibility: No previous loans, ≤ 100,000 THB, ≤ 30 days
- Discount: 0% processing fee, 0% interest
- Display: Original rates shown with strikethrough
6. Customer Group Management
Segmentation system for targeted features:
| Feature | Description |
|---|---|
| Group Assignment | Assign customers to groups |
| Loan Limits | Override default limits per group |
| Promotions | Target promotions to specific groups |
| Feature Flags | Enable/disable features per group |
Managed via CustomerGroupController in .NET backend.
7. Internationalization
The platform supports two languages:
| Language | Code | Coverage |
|---|---|---|
| English | en-US | Full |
| Thai | th-TH | Full |
Translation namespaces: common, loan, wallet, security, register, validation, kyc, transaction, profile, repayment
User can switch language in Settings.