271 lines
9.3 KiB
Markdown
271 lines
9.3 KiB
Markdown
# Admin Configurable Settings - Complete Reference
|
||
|
||
## 📋 All 18 Settings Across 7 Categories
|
||
|
||
This document lists all admin-configurable settings as per the SRS document requirements.
|
||
All settings are **editable via the Settings page** (Admin users only) and stored in the `admin_configurations` table.
|
||
|
||
---
|
||
|
||
## 1️⃣ **TAT Settings** (6 Settings)
|
||
|
||
Settings that control Turnaround Time calculations and reminders.
|
||
|
||
| Setting | Key | Type | Default | Range | Description |
|
||
|---------|-----|------|---------|-------|-------------|
|
||
| Default TAT - Express | `DEFAULT_TAT_EXPRESS_HOURS` | Number | 24 | 1-168 | Default TAT hours for express priority (calendar days) |
|
||
| Default TAT - Standard | `DEFAULT_TAT_STANDARD_HOURS` | Number | 48 | 1-720 | Default TAT hours for standard priority (working days) |
|
||
| First Reminder Threshold | `TAT_REMINDER_THRESHOLD_1` | Number | 50 | 1-100 | Send gentle reminder at this % of TAT elapsed |
|
||
| Second Reminder Threshold | `TAT_REMINDER_THRESHOLD_2` | Number | 75 | 1-100 | Send escalation warning at this % of TAT elapsed |
|
||
| Work Start Hour | `WORK_START_HOUR` | Number | 9 | 0-23 | Hour when working day starts (24h format) |
|
||
| Work End Hour | `WORK_END_HOUR` | Number | 18 | 0-23 | Hour when working day ends (24h format) |
|
||
|
||
**UI Component:** Number input + Slider for thresholds
|
||
**Category Color:** Blue 🔵
|
||
|
||
---
|
||
|
||
## 2️⃣ **Document Policy** (3 Settings)
|
||
|
||
Settings that control file uploads and document management.
|
||
|
||
| Setting | Key | Type | Default | Range | Description |
|
||
|---------|-----|------|---------|-------|-------------|
|
||
| Max File Size | `MAX_FILE_SIZE_MB` | Number | 10 | 1-100 | Maximum file upload size in MB |
|
||
| Allowed File Types | `ALLOWED_FILE_TYPES` | String | pdf,doc,docx... | - | Comma-separated list of allowed extensions |
|
||
| Document Retention Period | `DOCUMENT_RETENTION_DAYS` | Number | 365 | 30-3650 | Days to retain documents after closure |
|
||
|
||
**UI Component:** Number input + Text input
|
||
**Category Color:** Purple 🟣
|
||
|
||
---
|
||
|
||
## 3️⃣ **AI Configuration** (2 Settings)
|
||
|
||
Settings for AI-generated conclusion remarks.
|
||
|
||
| Setting | Key | Type | Default | Range | Description |
|
||
|---------|-----|------|---------|-------|-------------|
|
||
| Enable AI Remarks | `AI_REMARK_GENERATION_ENABLED` | Boolean | true | - | Toggle AI-generated conclusion remarks |
|
||
| Max Remark Characters | `AI_REMARK_MAX_CHARACTERS` | Number | 500 | 100-2000 | Maximum character limit for AI remarks |
|
||
|
||
**UI Component:** Toggle + Number input
|
||
**Category Color:** Pink 💗
|
||
|
||
---
|
||
|
||
## 4️⃣ **Notification Rules** (3 Settings)
|
||
|
||
Settings for notification channels and frequency.
|
||
|
||
| Setting | Key | Type | Default | Range | Description |
|
||
|---------|-----|------|---------|-------|-------------|
|
||
| Enable Email Notifications | `ENABLE_EMAIL_NOTIFICATIONS` | Boolean | true | - | Send email notifications for events |
|
||
| Enable Push Notifications | `ENABLE_PUSH_NOTIFICATIONS` | Boolean | true | - | Send browser push notifications |
|
||
| Notification Batch Delay | `NOTIFICATION_BATCH_DELAY_MS` | Number | 5000 | 1000-30000 | Delay (ms) before sending batched notifications |
|
||
|
||
**UI Component:** Toggle + Number input
|
||
**Category Color:** Amber 🟠
|
||
|
||
---
|
||
|
||
## 5️⃣ **Dashboard Layout** (4 Settings)
|
||
|
||
Settings to enable/disable KPI cards on dashboard per role.
|
||
|
||
| Setting | Key | Type | Default | Description |
|
||
|---------|-----|------|---------|-------------|
|
||
| Show Total Requests | `DASHBOARD_SHOW_TOTAL_REQUESTS` | Boolean | true | Display total requests KPI card |
|
||
| Show Open Requests | `DASHBOARD_SHOW_OPEN_REQUESTS` | Boolean | true | Display open requests KPI card |
|
||
| Show TAT Compliance | `DASHBOARD_SHOW_TAT_COMPLIANCE` | Boolean | true | Display TAT compliance KPI card |
|
||
| Show Pending Actions | `DASHBOARD_SHOW_PENDING_ACTIONS` | Boolean | true | Display pending actions KPI card |
|
||
|
||
**UI Component:** Toggle switches
|
||
**Category Color:** Teal 🟢
|
||
|
||
---
|
||
|
||
## 6️⃣ **Workflow Sharing Policy** (3 Settings)
|
||
|
||
Settings to control who can add spectators and share workflows.
|
||
|
||
| Setting | Key | Type | Default | Range | Description |
|
||
|---------|-----|------|---------|-------|-------------|
|
||
| Allow Add Spectator | `ALLOW_ADD_SPECTATOR` | Boolean | true | - | Enable users to add spectators |
|
||
| Max Spectators | `MAX_SPECTATORS_PER_REQUEST` | Number | 20 | 1-100 | Maximum spectators per workflow |
|
||
| Allow External Sharing | `ALLOW_EXTERNAL_SHARING` | Boolean | false | - | Allow sharing with external users |
|
||
|
||
**UI Component:** Toggle + Number input
|
||
**Category Color:** Emerald 💚
|
||
|
||
---
|
||
|
||
## 7️⃣ **Workflow Limits** (2 Settings)
|
||
|
||
System limits for workflow structure.
|
||
|
||
| Setting | Key | Type | Default | Range | Description |
|
||
|---------|-----|------|---------|-------|-------------|
|
||
| Max Approval Levels | `MAX_APPROVAL_LEVELS` | Number | 10 | 1-20 | Maximum approval levels per workflow |
|
||
| Max Participants | `MAX_PARTICIPANTS_PER_REQUEST` | Number | 50 | 2-200 | Maximum total participants per workflow |
|
||
|
||
**UI Component:** Number input
|
||
**Category Color:** Gray ⚪
|
||
|
||
---
|
||
|
||
## 📊 Total Settings Summary
|
||
|
||
| Category | Count | Editable | UI |
|
||
|----------|-------|----------|-----|
|
||
| TAT Settings | 6 | ✅ All | Number + Slider |
|
||
| Document Policy | 3 | ✅ All | Number + Text |
|
||
| AI Configuration | 2 | ✅ All | Toggle + Number |
|
||
| Notification Rules | 3 | ✅ All | Toggle + Number |
|
||
| Dashboard Layout | 4 | ✅ All | Toggle |
|
||
| Workflow Sharing | 3 | ✅ All | Toggle + Number |
|
||
| Workflow Limits | 2 | ✅ All | Number |
|
||
| **TOTAL** | **18** | **18/18** | **All Editable** |
|
||
|
||
---
|
||
|
||
## 🎯 SRS Document Compliance
|
||
|
||
### Required Config Areas (from SRS Section 7):
|
||
|
||
1. ✅ **TAT Settings** - Default TAT per priority, auto-reminder thresholds
|
||
2. ✅ **User Roles** - Covered via Workflow Limits (max participants, levels)
|
||
3. ✅ **Notification Rules** - Channels (email/push), frequency (batch delay)
|
||
4. ✅ **Document Policy** - Max upload size, allowed types, retention period
|
||
5. ✅ **Dashboard Layout** - Enable/disable KPI cards per role
|
||
6. ✅ **AI Configuration** - Toggle AI, set max characters
|
||
7. ✅ **Workflow Sharing Policy** - Control spectators, external sharing
|
||
|
||
**All 7 required areas are fully covered!** ✅
|
||
|
||
---
|
||
|
||
## 🔧 How to Edit Settings
|
||
|
||
### **Step 1: Access Settings** (Admin Only)
|
||
1. Login as Admin user
|
||
2. Navigate to **Settings** from sidebar
|
||
3. Click **"System Configuration"** tab
|
||
|
||
### **Step 2: Select Category**
|
||
Choose from 7 category tabs:
|
||
- TAT Settings
|
||
- Document Policy
|
||
- AI Configuration
|
||
- Notification Rules
|
||
- Dashboard Layout
|
||
- Workflow Sharing
|
||
- Workflow Limits
|
||
|
||
### **Step 3: Modify Values**
|
||
- **Number fields**: Enter numeric value within allowed range
|
||
- **Toggles**: Switch ON/OFF
|
||
- **Sliders**: Drag to set percentage
|
||
- **Text fields**: Enter comma-separated values
|
||
|
||
### **Step 4: Save Changes**
|
||
1. Click **"Save"** button for each modified setting
|
||
2. See success message confirmation
|
||
3. Some settings may show **"Requires Restart"** badge
|
||
|
||
### **Step 5: Reset if Needed**
|
||
- Click **"Reset to Default"** to revert any setting
|
||
- Confirmation dialog appears before reset
|
||
|
||
---
|
||
|
||
## 🚀 Initial Setup
|
||
|
||
### **First Time Setup:**
|
||
|
||
1. **Start backend** - Configurations auto-seed on first run:
|
||
```bash
|
||
cd Re_Backend
|
||
npm run dev
|
||
```
|
||
|
||
2. **Check logs** - Should see:
|
||
```
|
||
⚙️ System configurations initialized
|
||
✅ Default configurations seeded (18 settings across 7 categories)
|
||
```
|
||
|
||
3. **Login as Admin** and verify settings are editable
|
||
|
||
---
|
||
|
||
## 🗄️ Database Storage
|
||
|
||
**Table:** `admin_configurations`
|
||
|
||
**Key Columns:**
|
||
- `config_key` - Unique identifier
|
||
- `config_category` - Grouping (TAT_SETTINGS, DOCUMENT_POLICY, etc.)
|
||
- `config_value` - Current value
|
||
- `default_value` - Reset value
|
||
- `is_editable` - Whether admin can edit (all are `true`)
|
||
- `ui_component` - UI type (toggle, number, slider, text)
|
||
- `validation_rules` - JSON with min/max constraints
|
||
- `sort_order` - Display order within category
|
||
|
||
---
|
||
|
||
## 🔄 How Settings Are Applied
|
||
|
||
### **Backend:**
|
||
```typescript
|
||
import { SYSTEM_CONFIG } from '@config/system.config';
|
||
|
||
const workStartHour = SYSTEM_CONFIG.WORKING_HOURS.START_HOUR;
|
||
// Value is loaded from admin_configurations table
|
||
```
|
||
|
||
### **Frontend:**
|
||
```typescript
|
||
import { configService } from '@/services/configService';
|
||
|
||
const config = await configService.getConfig();
|
||
const maxFileSize = config.upload.maxFileSizeMB;
|
||
// Fetched from backend API: GET /api/v1/config
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ Benefits
|
||
|
||
✅ **No hardcoded values** - Everything configurable
|
||
✅ **Admin-friendly UI** - No technical knowledge needed
|
||
✅ **Validation built-in** - Prevents invalid values
|
||
✅ **Audit trail** - All changes logged with timestamps
|
||
✅ **Reset capability** - Can revert to defaults anytime
|
||
✅ **Real-time effect** - Most changes apply immediately
|
||
✅ **SRS compliant** - All 7 required areas covered
|
||
|
||
---
|
||
|
||
## 📝 Notes
|
||
|
||
- **User Role Management** is handled separately via user administration (not in this config)
|
||
- **Holiday Calendar** has its own dedicated management interface
|
||
- All settings have **validation rules** to prevent invalid configurations
|
||
- Settings marked **"Requires Restart"** need backend restart to take effect
|
||
- Non-admin users cannot see or edit system configurations
|
||
|
||
---
|
||
|
||
## 🎯 Result
|
||
|
||
Your system now has **complete admin configurability** as specified in the SRS document with:
|
||
|
||
📌 **18 editable settings**
|
||
📌 **7 configuration categories**
|
||
📌 **100% SRS compliance**
|
||
📌 **Admin-friendly UI**
|
||
📌 **Database-driven** (not hardcoded)
|
||
|