54 KiB
Admin Console Frontend Implementation - Detailed Plan
Complete Task Breakdown for All 8 Phases
Phase 1: Project Setup & Foundation (5 Tasks)
Task 1.1: Framework Selection & Initialization
Subtasks:
- Choose frontend framework (React recommended for admin dashboards)
- Initialize TypeScript project with create-react-app or Vite
- Set up build tooling (Vite for fast dev, Webpack for production)
- Configure path aliases matching backend structure (@/components, @/services, etc.)
- Set up environment variables (.env files for dev/staging/prod)
- Install core dependencies:
- React Router v6 (routing)
- Zustand or Redux Toolkit (state management)
- Axios or fetch wrapper (HTTP client)
- React Query or SWR (data fetching/caching)
- date-fns (date formatting)
- zod (form validation)
- Create project folder structure:
src/ components/ shared/ # Reusable components admin/ # Admin-specific components layout/ # Layout components pages/ dbis/ # DBIS admin pages scb/ # SCB admin pages auth/ # Auth pages services/ api/ # API clients auth/ # Auth service hooks/ # Custom React hooks utils/ # Utility functions types/ # TypeScript types constants/ # Constants styles/ # Global styles
Deliverables:
- Working dev server
- TypeScript compilation
- Hot module replacement
- Basic routing setup
Estimated Time: 2-3 days
Task 1.2: Shared Component Library - Base Components
Subtasks:
-
DataTable component:
- Sortable columns (click header to sort)
- Filterable rows (search input per column or global)
- Pagination (client-side and server-side)
- Row selection (single/multiple with checkboxes)
- Export to CSV/Excel
- Loading states (skeleton rows)
- Empty states (no data message)
- Responsive (horizontal scroll on mobile)
-
StatusIndicator component:
- Health status lights (green/yellow/red)
- Animated pulse for active status
- Tooltip with status details
- Size variants (small, medium, large)
- Customizable colors
-
MetricCard component:
- KPI display (large number, formatted)
- Trend indicator (up/down arrow with percentage)
- Subtitle/description
- Click handler for drill-down
- Loading skeleton
- Color variants (primary, success, warning, danger)
-
ControlButton component:
- Permission check integration
- Variants (primary, secondary, danger)
- Loading state (spinner)
- Disabled state with tooltip
- Icon support (left/right)
- Size variants
-
Form components:
- FormInput (text, number, email with validation)
- FormSelect (single/multi-select with search)
- FormDatePicker (date/time/datetime)
- FormTextarea (with character count)
- FormCheckbox
- FormRadio
- FormSwitch (toggle)
- All with validation error display
- All with label and help text support
-
Modal/Dialog component:
- Backdrop with click-to-close
- Close button (X)
- Header, body, footer sections
- Size variants (small, medium, large, fullscreen)
- Animation (fade in/out)
- ESC key to close
- Focus trap (can't tab outside)
-
Toast/Notification system:
- Success (green, auto-dismiss 3s, checkmark icon)
- Error (red, manual dismiss, X icon)
- Warning (yellow, auto-dismiss 5s, warning icon)
- Info (blue, auto-dismiss 4s, info icon)
- Stack multiple toasts
- Position options (top-right, top-left, etc.)
- Animation (slide in/out)
-
LoadingSpinner component:
- Size variants (small, medium, large)
- Full page overlay option
- Inline option
- Color customization
-
Skeleton loaders:
- Text skeleton (animated shimmer)
- Table skeleton (rows and columns)
- Card skeleton
- Customizable width/height
-
Chart wrapper components:
- LineChart (for time series)
- BarChart (for comparisons)
- PieChart (for distributions)
- AreaChart (for volumes)
- GaugeChart (for success rates)
- HeatmapChart (for risk visualization)
- All with responsive sizing
- Tooltip integration
- Export functionality (PNG/PDF)
Deliverables:
- All base components implemented
- Storybook documentation (optional but recommended)
- Unit tests for each component
Estimated Time: 1-2 weeks
Task 1.3: Shared Component Library - Layout Components
Subtasks:
-
DashboardLayout component:
- 3-column grid system
- Responsive breakpoints
- Widget placement system
- Drag-and-drop widget reordering (optional, nice-to-have)
- Grid gap customization
-
SidebarNavigation component:
- Collapsible sidebar
- Icon + text menu items
- Active route highlighting (background color change)
- Sub-menu support (nested items with accordion)
- Badge support (notification counts)
- Mobile hamburger menu
- Smooth animations
-
TopBar/Header component:
- User info display (name, role, avatar)
- Notifications dropdown (bell icon with count)
- Settings dropdown (gear icon)
- Logout button
- Breadcrumbs integration
- Search bar (optional, global search)
-
Breadcrumbs component:
- Dynamic breadcrumb generation from route
- Click to navigate
- Separator customization
- Max items (truncate with ellipsis)
-
PageContainer wrapper:
- Consistent page padding
- Page title section (with actions)
- Action buttons area (right-aligned)
- Content area (flexible)
Deliverables:
- All layout components
- Responsive behavior tested
- Mobile navigation working
Estimated Time: 3-5 days
Task 1.4: Shared Component Library - Admin-Specific Components
Subtasks:
-
PermissionGate component:
- Wrapper for conditional rendering
- Takes permission string as prop
- Shows children if permission granted
- Shows fallback (tooltip/disabled state) if not
- Supports multiple permissions (AND/OR logic)
-
AuditLogViewer component:
- Table of audit log entries
- Filter by action type, user, date range
- Export audit log (CSV/PDF)
- View details modal
- Pagination
- Search functionality
-
ConfirmationDialog component:
- For critical actions (kill switches, etc.)
- Title and message props
- Confirm/Cancel buttons
- Danger variant (red styling)
- Multi-step confirmation support
- Customizable button text
-
MultiStepForm component:
- Step indicator (progress bar with steps)
- Next/Previous navigation
- Step validation (can't proceed if invalid)
- Summary step before submit
- Step data persistence (don't lose on back)
-
DataExportButton component:
- Export to CSV
- Export to PDF
- Export to Excel
- Loading state during export
- Success/error feedback
Deliverables:
- All admin-specific components
- Permission integration working
- Export functionality tested
Estimated Time: 3-5 days
Task 1.5: Authentication & Authorization System
Subtasks:
-
Auth service:
- JWT token storage (localStorage/sessionStorage)
- Token refresh logic (before expiration)
- Token expiration checking
- Logout (clear tokens)
- Get current user function
-
Login page/component:
- Username/password form
- Remember me checkbox
- Error message display
- Loading state
- Redirect after login
- Forgot password link (if applicable)
-
Auth context/provider:
- User state management
- Permissions state
- Login/logout functions
- Token refresh function
- Loading state
- Error state
-
usePermissions hook:
- Check single permission (hasPermission(permission))
- Check multiple permissions (hasAnyPermission, hasAllPermissions)
- Get all user permissions
- Check if user is DBIS-level
- Check if user can act on SCB
-
Route guards:
- ProtectedRoute component
- Redirect to login if not authenticated
- Redirect to unauthorized if no permission
- Role-based route access
- Public routes (login, etc.)
-
Session timeout handling:
- Warning modal before timeout (5 min warning)
- Auto-logout on timeout
- Extend session option
- Activity tracking (reset timer on user activity)
Deliverables:
- Complete auth system
- Login/logout working
- Permission checks working
- Route protection working
Estimated Time: 1 week
Phase 2: Navigation & Layout (3 Tasks)
Task 2.1: DBIS Admin Navigation
Subtasks:
- Build 10-section sidebar:
- Overview (icon: dashboard, route: /dbis/overview)
- Participants & Jurisdictions (icon: users, route: /dbis/participants)
- Assets & GRU (icon: coins, route: /dbis/gru)
- GAS & QPS (icon: network, route: /dbis/gas-qps)
- CBDC & FX (icon: exchange, route: /dbis/cbdc-fx)
- Metaverse & Edge (icon: globe, route: /dbis/metaverse-edge)
- Risk & Compliance (icon: shield, route: /dbis/risk-compliance)
- Developer & Integrations (icon: code, route: /dbis/developer)
- Security & Identity (icon: lock, route: /dbis/security)
- Audit & Governance (icon: file-text, route: /dbis/audit)
- Active route highlighting (background color change)
- Collapsible sub-menus (accordion style)
- Icon integration (React Icons or custom SVG)
- Badge support for notification counts
- Mobile responsive (hamburger menu)
- Permission-based visibility (hide sections user can't access)
Deliverables:
- Working navigation
- All routes accessible
- Mobile menu working
Estimated Time: 2-3 days
Task 2.2: SCB Admin Navigation
Subtasks:
- Build 7-section sidebar:
- Overview (icon: dashboard, route: /scb/overview)
- FI Management & Nostro/Vostro (icon: building, route: /scb/fi-management)
- CBDC & GRU Controls (icon: wallet, route: /scb/cbdc-gru)
- Corridor & FX Policy (icon: route, route: /scb/corridors)
- Risk & Compliance (icon: shield, route: /scb/risk-compliance)
- Tech / API & Plugins (icon: plug, route: /scb/tech)
- Security, Users & Roles (icon: user-shield, route: /scb/security)
- Same styling/behavior as DBIS nav
- Role-based navigation visibility (hide sections user can't access)
- Active route highlighting
Deliverables:
- Working SCB navigation
- All routes accessible
Estimated Time: 1-2 days
Task 2.3: Responsive Layout System
Subtasks:
- 3-column dashboard grid:
- Desktop (1920px+): 3 equal columns
- Tablet (768px-1919px): 2 columns, stack on small tablets
- Mobile (<768px): 1 column, full width
- Mobile hamburger menu:
- Slide-in sidebar
- Backdrop overlay
- Close on route change
- Collapsible sidebar for mobile:
- Auto-collapse on mobile
- Toggle button
- Remember user preference (localStorage)
- Touch-friendly controls:
- Minimum 44px touch targets
- Swipe gestures for mobile (optional)
- Print-friendly styles:
- Hide navigation when printing
- Optimize colors for print
- Page breaks for tables
Deliverables:
- Responsive layout working
- Mobile navigation working
- Print styles working
Estimated Time: 2-3 days
Phase 3: API Integration Layer (1 Task)
Task 3.1: API Service Layer
Subtasks:
-
API client service:
- Base URL configuration (from env)
- Request/response interceptors
- Error handling
- Retry logic
- Request cancellation
-
Request interceptors:
- Add Authorization header (JWT token)
- Add X-Employee-ID header (if available)
- Add X-SOV-Timestamp header
- Add X-SOV-Nonce header
- Sign request (if required by backend)
-
Response interceptors:
- Handle 401 (redirect to login, refresh token)
- Handle 403 (show unauthorized message)
- Handle 500 (show error, log details)
- Transform error responses (consistent format)
- Token refresh on 401
-
Typed API service classes:
- DBISAdminAPI class:
- getGlobalOverview()
- getParticipants()
- getParticipantDetails(scbId)
- getJurisdictionSettings(scbId)
- getCorridors()
- getGRUCommandDashboard()
- createGRUIssuanceProposal(data)
- lockUnlockGRUClass(data)
- setCircuitBreakers(data)
- manageBondIssuanceWindow(data)
- triggerEmergencyBuyback(bondId, amount)
- getGASQPSDashboard()
- getCBDCFXDashboard()
- getMetaverseEdgeDashboard()
- getRiskComplianceDashboard()
- adjustCorridorCaps(data)
- throttleCorridor(data)
- enableDisableCorridor(data)
- quiesceSubsystem(data)
- activateKillSwitch(data)
- escalateIncident(data)
- SCBAdminAPI class:
- getSCBOverview(scbId)
- getFIManagementDashboard(scbId)
- approveSuspendFI(scbId, data)
- setFILimits(scbId, data)
- assignAPIProfile(scbId, data)
- getCorridorPolicyDashboard(scbId)
- updateCBDCParameters(scbId, data)
- updateGRUPolicy(scbId, data)
- DBISAdminAPI class:
-
Request/response TypeScript types:
- Match backend service interfaces exactly
- Type-safe API calls
- Auto-completion in IDE
- Shared types file
-
Retry logic:
- Retry on network errors (3 attempts)
- Exponential backoff (1s, 2s, 4s)
- Don't retry on 4xx errors
- Configurable retry count
-
Request cancellation:
- Cancel on component unmount
- Cancel on route change
- Use AbortController
- Cleanup in useEffect
Deliverables:
- Complete API service layer
- All endpoints typed
- Error handling working
- Token refresh working
Estimated Time: 1 week
Phase 4: DBIS Admin Console Screens (7 Tasks)
Task 4.1: Global Overview Dashboard
Subtasks:
-
Network Health widget:
- 8 subsystem status cards in grid:
- GAS (Global Atomic Settlement)
- QPS (Quantum Payment System)
- Ω-Layer (Omega Layer)
- GPN (Global Payment Network)
- GRU Engine
- Metaverse MEN
- 6G Edge Grid
- Each card shows:
- Status light (green/yellow/red)
- Subsystem name
- Last heartbeat timestamp (relative time)
- Latency (if available, in ms)
- Error rate (if available, percentage)
- Click card to view subsystem details modal
- Quiesce/resume button (with confirmation dialog)
- Escalate incident button (opens form)
- 8 subsystem status cards in grid:
-
Settlement Throughput widget:
- tx/sec KPI (large number, animated counter)
- Daily volume KPI (formatted currency, e.g., $1.2B)
- Asset type breakdown:
- Pie chart or horizontal bar chart
- FIAT, CBDC, GRU, SSU, commodities
- Click slice/bar to filter by asset type
- Tooltip with exact values
- Corridor heatmap:
- Grid visualization of SCB pairs
- Color intensity = volume (darker = higher)
- Hover to see exact volume
- Click to view corridor details
- Legend (min/max volume)
-
GRU & Liquidity widget:
- Current GRU price (large display, real-time updates)
- Volatility indicator (trend arrow + percentage, color-coded)
- Circulation by class:
- Bar chart: M00, M0, M1, SR-1, SR-2, SR-3
- Click bar to see details
- Tooltip with exact amounts
- "Open GRU command center" button (navigate to /dbis/gru)
-
Risk Flags widget:
- Alert count badges:
- High (red, large number, clickable)
- Medium (yellow, medium number, clickable)
- Low (blue, small number, clickable)
- Acknowledge button (bulk action, opens modal)
- Assign button (opens assign modal with user selector)
- Link to risk detail view (navigate to /dbis/risk-compliance)
- Alert count badges:
-
SCB Status Table:
- Columns: Name, Country, BIC, Status, Connectivity, Latency, Error Rate, Open Incidents
- Row actions dropdown:
- View details (opens modal)
- Pause new settlement (with confirmation)
- Throttle corridor (opens form)
- Open SCB console (view-only, new tab)
- Search by name/country/BIC
- Filter by status/connectivity
- Sort by any column
- Pagination (50 per page)
- Export to CSV
-
Real-time updates:
- Poll every 5-10 seconds (configurable)
- Show "last updated" timestamp on each widget
- Manual refresh button (header)
- Connection status indicator (green/yellow/red dot)
Deliverables:
- Complete dashboard page
- All widgets functional
- Real-time updates working
- Responsive layout
Estimated Time: 1 week
Task 4.2: Participants & Jurisdictions Screen
Subtasks:
-
Participant Directory:
- Table with columns:
- SCB name (link to details, clickable)
- Country (flag icon + name)
- BIC (copy button on hover)
- LEI (copy button on hover)
- Status (badge: active/suspended/inactive)
- Connectivity (status indicator: connected/degraded/disconnected)
- Last heartbeat (relative time, e.g., "2 minutes ago")
- Row actions dropdown:
- View details (opens modal)
- Pause new settlement (with confirmation)
- Throttle corridor (opens form)
- Open SCB console (view-only, new tab)
- Search bar (name, country, BIC, LEI)
- Filters:
- Status dropdown (active, suspended, inactive)
- Connectivity dropdown (connected, degraded, disconnected)
- Pagination (25 per page)
- Export to CSV
- Table with columns:
-
Participant Details modal:
- Full SCB information:
- Basic info (name, country, BIC, LEI)
- Status and connectivity
- HSM identity reference
- Root sovereign key reference
- Created/updated dates
- Recent activity timeline:
- Last 20 actions
- Date, action, user
- Expandable details
- Connected corridors list:
- Table of active corridors
- Volume and latency
- Click to view corridor details
- Edit jurisdiction settings button (navigate to settings page)
- Full SCB information:
-
Jurisdiction Settings page:
- Allowed asset classes section:
- Checkboxes: FIAT, CBDC, GRU, SSU, commodities, metaverse
- Save button (with confirmation)
- Unsaved changes indicator
- Corridor rules section:
- Table:
- Target SCB (searchable selector)
- Caps (input, currency formatted)
- Allowed Settlement Assets (multi-select dropdown)
- Actions (Edit, Delete)
- Add new corridor rule button (opens form)
- Bulk edit option
- Table:
- Regulatory profiles section:
- AML strictness: Slider (low/medium/high) with labels
- Sanctions lists: Multi-select (OFAC, EU, UN, etc.)
- Reporting frequency: Dropdown (real-time, hourly, daily, weekly)
- Save button
- Template policies:
- "Apply template policy" button
- Template selector modal:
- List of templates (e.g., "Strict", "Moderate", "Permissive")
- Preview before apply
- Apply button
- Schedule changes:
- Date/time picker (future dates only)
- Effective date selector
- Pending changes list (table with scheduled date)
- Cancel scheduled change option
- Allowed asset classes section:
-
Corridors list view:
- All active corridors table
- Columns: Source SCB, Destination SCB, Currency, Volume 24h, Latency, Status
- Filter by source/destination SCB
- Quick actions:
- Throttle (opens form with rate slider)
- Enable/Disable (toggle with confirmation)
- Volume trend chart (7-day, mini chart per row)
Deliverables:
- Complete participants screen
- Details modal working
- Settings page working
- Corridors view working
Estimated Time: 1 week
Task 4.3: GRU Command Center
Subtasks:
-
Tab navigation:
- Tabs: Monetary | Indexes | Bonds | Supranational Pools
- Active tab highlighting (underline + color)
- Tab content area (switch content on tab change)
- Smooth transition animation
-
GRU Monetary tab:
- Supply dashboard:
- Large number displays in grid:
- M00, M0, M1 (monetary classes)
- SR-1, SR-2, SR-3 (supranational reserve classes)
- Lock/unlock toggle buttons per class
- Locked indicator (red badge, "LOCKED" text)
- Supply trend charts (30-day, mini charts)
- Large number displays in grid:
- Actions:
- "Create issuance proposal" button
- Opens modal with form:
- GRU class selector (dropdown)
- Amount input (number, min: 0, formatted)
- Reason textarea (required, min 10 chars)
- Effective date picker (optional, future dates)
- Validation (all fields, amount > 0)
- Submit creates proposal (goes to governance)
- Success toast
- Opens modal with form:
- "Simulate impact" button
- Opens simulation modal
- Shows projected impact on supply (before/after)
- Shows impact on price (percentage change)
- Shows impact on liquidity
- Run simulation button
- "Create issuance proposal" button
- Supply trend charts:
- 30-day supply history (line chart)
- Per class breakdown (stacked area chart)
- Time range selector (7d, 30d, 90d, 1y)
- Supply dashboard:
-
GRU Indexes tab:
- Index cards grid:
- LiXAU (Lithium XAU Index)
- LiPMG (Lithium Precious Metals Group)
- LiBMG1, LiBMG2, LiBMG3 (Lithium Base Metals Group)
- Each card shows:
- Index name and code
- Current price (large, formatted)
- 24h change (percentage, color-coded green/red)
- Price history chart (7-day, mini line chart)
- Expand button (shows full details)
- Component weights table:
- Columns: Asset, Weight %, Current Value
- Sortable columns
- Total = 100% validation
- Actions per index:
- "Propose weight adjustment" button (CPC-only, opens form)
- Form with asset weights (must sum to 100%)
- Reason field
- Submit button
- Circuit breaker settings:
- Max intraday move input (%)
- Enable/disable toggle
- Current threshold display (read-only)
- Save button
- Enable/disable for listing:
- Toggle per SCB
- SCB selector + toggle (multi-select)
- Save button
- "Propose weight adjustment" button (CPC-only, opens form)
- Index cards grid:
-
GRU Bonds tab:
- Bond list table:
- Columns: Bond Name, Code, Outstanding, Buyers, Yield, Issuance Window
- Bonds: Li99PpOsB10, Li99PpAvB10
- Sortable columns
- Row actions:
- Open/close issuance window (toggle with confirmation)
- Adjust parameters (opens modal)
- Emergency buy-back (opens multi-step confirmation)
- Primary market parameters editor:
- Modal with form:
- Min purchase amount (input)
- Max purchase amount (input)
- Other parameters (bond-specific, JSON editor or form)
- Current values display (read-only)
- Save button
- Modal with form:
- Emergency buy-back:
- Multi-step confirmation:
- Confirm action (checkbox)
- Enter amount (input, with max validation)
- Final confirmation (enter "BUYBACK" text)
- Requires multi-sig/governance confirmation (warning message)
- Submit button (red, destructive)
- Multi-step confirmation:
- Bond list table:
-
Supranational Pools tab:
- Pool list (cards or table):
- Pool name
- Total reserves (large number, formatted)
- Allocation breakdown (pie chart, mini)
- Expand to see details
- Reserve class details:
- Table of allocations
- Columns: Reserve Class, Amount, Percentage
- Click row to view class details
- Sortable
- Pool list (cards or table):
Deliverables:
- Complete GRU command center
- All tabs functional
- All modals working
- Charts displaying correctly
Estimated Time: 1.5 weeks
Task 4.4: GAS & QPS Control Panel
Subtasks:
-
GAS Metrics section:
- Atomic settlement success rate:
- Gauge chart (0-100%)
- Target line (95%, red line)
- Color zones (green >95%, yellow 80-95%, red <80%)
- Current value display (large number)
- Trend indicator (7-day)
- Average latency:
- Large number (milliseconds)
- Trend indicator (7-day, up/down arrow)
- Target: <1000ms (show target line)
- Color-coded (green <1000ms, yellow 1000-2000ms, red >2000ms)
- Per-asset breakdown table:
- Columns: Asset Type, Success Rate, Volume 24h
- Rows: Currency, CBDC, Commodity, Security
- Color-coded success rates (green/yellow/red)
- Sortable columns
- Asset-level limits table:
- Columns: Asset Class, Max Notional per SCB
- Edit button per row (opens form)
- Add new limit button (opens form)
- Delete button (with confirmation)
- Atomic settlement success rate:
-
GAS Controls:
- Enable/disable settlement type:
- Form:
- Corridor selector (searchable dropdown)
- Asset type selector (multi-select)
- Enable/disable toggle
- Save button
- Current settings display (table)
- Form:
- Throttle bandwidth:
- Form:
- SCB selector (searchable dropdown)
- Throttle rate slider (0-100%, with percentage display)
- Reason field (required)
- Apply button
- Active throttles list (table with remove option)
- Form:
- Set asset-level limits:
- Modal form:
- Asset class selector (dropdown)
- Max notional input (currency formatted)
- SCB selector (optional, for per-SCB limits)
- Save button
- Validation (amount > 0)
- Modal form:
- Enable/disable settlement type:
-
QPS Metrics section:
- Legacy rails status cards (3 cards in grid):
- SWIFT:
- Status indicator (green/yellow/red)
- Volume 24h (formatted number)
- Error rate (percentage, color-coded)
- Last message timestamp (relative time)
- Click to view details
- ISO 20022:
- Status indicator
- Volume 24h
- Error rate
- Accepted message types count (badge)
- Click to view details
- RTGS:
- Status indicator
- Volume 24h
- Error rate
- Connected systems count (badge)
- Click to view details
- SWIFT:
- Legacy rails status cards (3 cards in grid):
-
QPS Controls:
- Enable/disable QPS:
- Form:
- SCB/FI selector (searchable dropdown, multi-select)
- Enable/disable toggle (per selection)
- Save button
- Current status table
- Form:
- Mapping profiles editor:
- Profile list table:
- Columns: Profile Name, Accepted Messages, Validation Level
- Row actions: Edit, Delete, Duplicate
- Add new profile button (opens form)
- Edit profile modal:
- Profile name input
- Accepted ISO messages multi-select (with search)
- Validation level selector (standard, strict)
- Save button
- Profile list table:
- Stricter validation toggle:
- Global toggle (header)
- Per-profile toggle (in profile editor)
- Confirmation for enabling (warning message)
- Enable/disable QPS:
Deliverables:
- Complete GAS & QPS panel
- All metrics displaying
- All controls functional
- Forms validated
Estimated Time: 1 week
Task 4.5: CBDC & FX Screen
Subtasks:
-
CBDC/Wallet Schemas section:
- SCB table:
- Columns: SCB Name, rCBDC, wCBDC, iCBDC, Total in Circulation
- Status indicators per CBDC type (green/yellow/red)
- Expand row to see details (accordion)
- Details show:
- In circulation amount
- Wallets count
- Last update timestamp
- Row actions:
- "Approve new CBDC type" button (opens form)
- Form:
- SCB selector
- CBDC type selector (rCBDC, wCBDC, iCBDC)
- Initial parameters
- Submit button
- Form:
- View schema details (opens modal)
- "Approve new CBDC type" button (opens form)
- Cross-border CBDC corridor configuration:
- Corridor list table
- Add new corridor button:
- Source SCB selector
- Target SCB selector
- Settlement asset selector (SSU/GRU)
- Create button
- Edit/Delete actions per corridor
- SCB table:
-
FX/GRU/SSU Routing section:
- FX corridors table:
- Columns: Source SCB, Destination SCB, Preferred Asset, Volume 24h, Status
- Row actions:
- Edit preferred asset (opens selector dropdown)
- Set spreads/fees (opens form)
- Configure circuit breakers (opens form)
- Sortable columns
- Filter by source/destination SCB
- Preferred settlement asset selector:
- Per corridor dropdown (inline edit)
- Options: GRU, SSU, FIAT
- Save button (per row)
- Spreads and fees bounds editor:
- Form:
- Min spread input (percentage)
- Max spread input (percentage)
- Min fee input (percentage)
- Max fee input (percentage)
- Currency selector (if applicable)
- Save button
- Validation (min < max)
- Form:
- Circuit breakers configuration:
- Form:
- Volatility threshold input (percentage, 0-100)
- Enable/disable toggle
- Current threshold display (read-only)
- Save button
- Warning message if threshold too high
- Form:
- SSU usage statistics card:
- Total volume (large number)
- Active corridors count (badge)
- Trend chart (7-day, mini)
- Click to view details
- GRU bridge usage statistics card:
- Total volume (large number)
- Active corridors count (badge)
- Trend chart (7-day, mini)
- Click to view details
- FX corridors table:
Deliverables:
- Complete CBDC & FX screen
- All tables functional
- All forms working
- Statistics cards displaying
Estimated Time: 1 week
Task 4.6: Metaverse & Edge Screen
Subtasks:
-
Metaverse Nodes (MEN) section:
- Node cards grid:
- MetaverseDubai card (primary)
- Other nodes (if any, in grid)
- Each card shows:
- Node name and location (header)
- Status indicator (body)
- Active volumes (large number, body)
- On-ramp status (badge, footer)
- Click to expand details
- On-ramp controls table:
- Columns: SCB, Enabled, Volume 24h, KYC Level
- Toggle enable/disable per SCB (inline)
- Edit KYC level (dropdown, inline)
- Add new on-ramp button
- Per-metaverse limits editor:
- Form:
- Daily limit input (currency formatted)
- Per-transaction limit input (currency formatted)
- Save button
- Current limits display (read-only)
- Form:
- KYC enforcement level selector:
- Dropdown: Low, Medium, High
- Per node or global (radio buttons)
- Save button
- Node cards grid:
-
6G Edge GPU Grid section:
- Region nodes visualization:
- Option 1: Map view (world map with 325 nodes, interactive)
- Zoom in/out
- Pan
- Click node to view details
- Option 2: Grid view (organized grid, paginated)
- Cards in grid
- Color-coded by occupancy
- Color-coded by occupancy:
- Green <50%
- Yellow 50-80%
- Red >80%
- Hover tooltip:
- Region name
- Occupancy percentage
- Latency (ms)
- Node count
- Click to view region details modal
- Option 1: Map view (world map with 325 nodes, interactive)
- Region controls:
- "Drain load from region" button:
- Region selector dropdown (searchable)
- Confirmation modal (warning message)
- Execute button (red, destructive)
- Priority selector:
- Per region dropdown (inline edit)
- Options: Settlement, Rendering, Balanced
- Save button (per region)
- Quarantine region button:
- Region selector (dropdown)
- Reason field (required, textarea)
- Multi-step confirmation:
- Confirm action
- Enter "QUARANTINE" text
- Execute button (red, destructive)
- "Drain load from region" button:
- Region nodes visualization:
Deliverables:
- Complete Metaverse & Edge screen
- Node visualization working
- Edge grid displaying
- All controls functional
Estimated Time: 1 week
Task 4.7: Risk & Compliance Screen
Subtasks:
-
SARE Sovereign Risk Heatmap:
- Interactive visualization:
- Option 1: World map with 33 SCBs (recommended)
- Click SCB to view detailed risk factors
- Zoom in/out
- Pan
- Option 2: Grid of SCB cards
- Cards in grid
- Color-coded
- Color-coded by risk level:
- Green: Low risk (0-20)
- Yellow: Medium risk (21-40)
- Orange: High risk (41-60)
- Red: Critical risk (61+)
- Click SCB to view detailed risk factors modal
- Option 1: World map with 33 SCBs (recommended)
- Risk level filter:
- Checkboxes: Low, Medium, High, Critical
- Apply filter button
- Clear filter button
- Export heatmap button (PNG/PDF)
- Detailed risk factors modal:
- Risk score breakdown (pie chart)
- Factors: Liquidity, FX stability, CBDC health, Commodity exposure
- Historical trend chart (30-day)
- Factor details table
- Interactive visualization:
-
ARI Regulatory Alerts section:
- Alert list table:
- Columns: Type, Severity, Description, SCB, Timestamp, Status
- Color-coded severity badges (red/yellow/blue)
- Status badges (new, acknowledged, under_investigation, resolved)
- Row actions:
- Acknowledge (changes status, requires permission)
- Assign (opens assign modal with user selector)
- View details (opens modal)
- Sortable columns
- Filters:
- Type dropdown (multi-select)
- Severity checkboxes
- Status dropdown
- SCB selector (searchable)
- Search bar (description, SCB name)
- Alert count badges (header, clickable to filter)
- Alert list table:
-
Ω-Layer Consistency Incidents:
- Incident list table:
- Columns: Incident ID, Type, Severity, Affected SCBs, Timestamp, Status
- Status badges (active, resolved)
- Row actions:
- View details (opens modal)
- Resolve (if user has permission, with confirmation)
- Sortable columns
- Affected SCBs display:
- Chip list in table cell
- Click chip to view SCB details
- Expandable if many SCBs
- Resolution status tracking:
- Progress indicator (if in progress)
- Resolution notes (if resolved)
- Resolution timestamp
- Incident list table:
-
Controls section:
- "Mark scenario as acknowledged" button:
- Scenario selector (multi-select, checkboxes)
- Confirmation
- Submit button
- "Trigger targeted stress test" form:
- SCB/corridor/asset selector (searchable, multi-select)
- Test type selector (dropdown)
- Parameters editor (JSON editor or form)
- Run button
- Results display (after run)
- "Push policy update" form:
- Policy type selector (dropdown)
- Parameters editor (JSON or form fields)
- Target SCB selector (optional, for SCB-specific)
- Push button
- Confirmation modal
- "Mark scenario as acknowledged" button:
Deliverables:
- Complete Risk & Compliance screen
- Heatmap visualization working
- Alerts table functional
- Incidents table functional
- All controls working
Estimated Time: 1.5 weeks
Phase 5: SCB Admin Console Screens (3 Tasks)
Task 5.1: SCB Overview Dashboard
Subtasks:
-
Domestic Network Health widget:
- FI count and active FIs:
- Large numbers (side by side)
- Trend indicators (up/down arrows)
- Click to view FI directory
- Payment rails status cards (grid):
- RTGS card (status, volume, last transaction)
- CBDC card (status, volume, wallets count)
- Other rails (if any)
- CBDC status:
- Total in circulation (large number, formatted)
- Wallets by type:
- Retail: count + total balance (card)
- Wholesale: count + total balance (card)
- Institutional: count + total balance (card)
- Trend chart (30-day, area chart)
- Nostro/Vostro status:
- Total accounts (number)
- Active accounts (number)
- API enabled indicator (toggle switch)
- Click to view accounts
- FI count and active FIs:
-
Corridor View widget:
- Corridor cards grid:
- Each card shows:
- Target SCB name (with flag icon)
- Volume 24h (formatted, large)
- Latency (ms, color-coded)
- Risk flags count (badge, clickable)
- Preferred settlement asset (badge)
- Click card to view corridor details
- Each card shows:
- Filter by target SCB (search input)
- Sort by volume/latency (dropdown)
- Corridor cards grid:
-
Local GRU & CBDC widget:
- GRU balances:
- SR-3: large number (formatted)
- M0: large number (formatted)
- Trend indicators (mini charts)
- CBDC in circulation by type:
- rCBDC: number + mini chart (card)
- wCBDC: number + mini chart (card)
- iCBDC: number + mini chart (card)
- Wallets by type counts:
- Retail: count (badge)
- Wholesale: count (badge)
- Institutional: count (badge)
- GRU balances:
-
Risk & Compliance widget:
- Local SARE view:
- Sovereign risk score (large number, color-coded)
- Trend chart (7-day, line chart)
- FI-level exposure list:
- Table: FI Name, Exposure, Risk Level
- Sortable columns
- Click to view FI details
- Local ARI alerts:
- Alert count badges (high/medium/low, clickable)
- Recent alerts list (last 5, expandable)
- Link to full alerts view
- Suspicious flows list:
- Table: Flow ID, Description, Risk Level, Timestamp
- Row actions: View details, Flag
- Sortable columns
- Local SARE view:
Deliverables:
- Complete SCB overview dashboard
- All widgets functional
- Real-time updates working
Estimated Time: 1 week
Task 5.2: FI Management Screen
Subtasks:
-
FI Directory table:
- Columns: FI Name, BIC, LEI, Regulatory Tier, API-enabled, Status
- Status badges (active, suspended, pending)
- API-enabled indicator (toggle icon)
- Row actions dropdown:
- Approve/Suspend (opens modal)
- Assign API profile (opens modal)
- Set limits (opens modal)
- View details (opens modal)
- Search bar (name, BIC, LEI)
- Filters:
- Status dropdown
- Regulatory tier dropdown
- API-enabled toggle
- Pagination (25 per page)
- Export to CSV
-
FI Details modal:
- Full FI information:
- Basic info (name, BIC, LEI, tier)
- Status and API status
- Registration date
- Contact information (if available)
- Current limits display:
- By asset type (table, editable)
- By corridor (table, editable)
- API profile assignment:
- Current profile display (badge)
- Change profile dropdown
- Save button
- Activity history timeline:
- Last 20 actions
- Date, action, user
- Expandable details
- Edit button (opens form, if permission)
- Full FI information:
-
Nostro/Vostro Accounts section:
- Account list table:
- Columns: Account ID, Type, Counterparty FI, Currency, Balance, Limits, Status
- Type badges (Nostro/Vostro)
- Status badges (active, frozen, closed)
- Row actions:
- Adjust limits (opens form)
- Freeze/Unfreeze (toggle with confirmation)
- View details (opens modal)
- Sortable columns
- Filters:
- Type dropdown
- Currency dropdown
- Status dropdown
- "Open new NOSTRO/VOSTRO" button:
- Opens multi-step form:
- Account type (Nostro/Vostro, radio)
- Counterparty FI selector (searchable)
- Currency selector
- Initial limits (daily, per-transaction)
- Review and confirm (summary)
- Submit creates account
- Success toast
- Opens multi-step form:
- Account details modal:
- Full account information
- Transaction history (table, last 50)
- Limit history (timeline)
- Account list table:
Deliverables:
- Complete FI management screen
- Directory table functional
- Details modal working
- Accounts section working
- Forms validated
Estimated Time: 1 week
Task 5.3: Corridor & FX Policy Screen
Subtasks:
-
Corridors table:
- Columns: Target SCB, Status, Daily Cap, Per-Transaction Limit, Preferred Asset, Metaverse Enabled
- Status badges (active, pending, suspended)
- Preferred asset badges (GRU, SSU, FIAT)
- Metaverse enabled indicator (toggle, inline)
- Row actions:
- Request changes (opens form, creates request to DBIS)
- Edit (if user has permission, opens form)
- View details (opens modal)
- Filters:
- Target SCB search
- Status dropdown
- Sort by any column
- Export to CSV
-
FX Policy section:
- Corridor list:
- Table with base/quote currencies
- Current spreads display (min/max, read-only)
- Current fees display (min/max, read-only)
- Edit button (opens form, validates against DBIS guardrails)
- Spreads and fees bounds editor:
- Form:
- Min spread input (percentage)
- Max spread input (percentage)
- Min fee input (percentage)
- Max fee input (percentage)
- Validation (must be within DBIS bounds, min < max)
- Save button
- DBIS bounds display (read-only, for reference)
- Form:
- Corridor list:
-
Controls:
- "Set preferred settlement asset" form:
- Corridor selector (searchable dropdown)
- Asset selector (GRU, SSU, FIAT, radio)
- Save button
- "Enable/disable metaverse corridors" toggle:
- Global toggle (header)
- Per-corridor toggle (inline, in table)
- "Request limit increases" button:
- Opens form:
- Corridor selector
- Current limit display (read-only)
- Requested limit input (must be > current)
- Reason field (required, textarea)
- Submit creates request to DBIS
- Shows pending requests list (table)
- Cancel request option (if pending)
- Opens form:
- "Set preferred settlement asset" form:
Deliverables:
- Complete Corridor & FX Policy screen
- Corridors table functional
- FX policy editor working
- All controls functional
Estimated Time: 1 week
Phase 6: Advanced Features (4 Tasks)
Task 6.1: Real-time Updates
Subtasks:
- WebSocket connection service OR polling service:
- Choose based on backend support
- WebSocket: real-time push updates (preferred)
- Polling: fallback, configurable interval
- useRealtimeMetrics hook:
- Subscribe to metric updates
- Auto-update component state
- Cleanup on unmount
- Error handling
- Auto-update dashboard widgets:
- Network health (every 5s)
- Settlement throughput (every 10s)
- GRU prices (every 5s)
- Risk flags (every 15s)
- Configurable per widget
- "Last updated" timestamps:
- Show on each widget
- Relative time (e.g., "2 seconds ago")
- Absolute time on hover
- Update in real-time
- Connection status indicator:
- Green: connected
- Yellow: reconnecting
- Red: disconnected
- Show in header (top-right)
- Click to view connection details
- Reconnection logic:
- Auto-reconnect on disconnect
- Exponential backoff (1s, 2s, 4s, 8s, max 30s)
- Max retry attempts (10)
- Manual reconnect button
- Manual refresh buttons:
- Per widget refresh button (small icon)
- Global refresh button (header)
- Loading state during refresh
- Configurable update intervals:
- Settings page
- Per widget configuration
- Save user preference (localStorage)
Deliverables:
- Real-time updates working
- Connection status visible
- Reconnection working
- Configurable intervals
Estimated Time: 1 week
Task 6.2: Permission-Based UI
Subtasks:
- PermissionGate component:
- Wrapper for conditional rendering
- Props: permission (string), fallback (ReactNode)
- Checks permission via usePermissions hook
- Shows children if granted, fallback if not
- Supports multiple permissions (AND/OR logic)
- Hide/show controls:
- All action buttons wrapped in PermissionGate
- Forms hidden if no permission
- Navigation items hidden if no permission
- Table actions hidden if no permission
- Disable buttons for insufficient permissions:
- Show button but disabled
- Tooltip: "Insufficient permissions: [permission name]"
- Grayed out styling
- Tooltips explaining disabled actions:
- On hover over disabled button
- Clear message about required permission
- Show user's current role
- Permission checks in all control components:
- GRU controls
- Corridor controls
- Network controls
- FI controls
- CBDC controls
- Permission indicators in UI:
- Badge showing user role (header)
- Permission level indicator (sidebar)
- Permission debug mode:
- Development only
- Show all permissions in sidebar
- Highlight permission checks
- Console logs for permission checks
Deliverables:
- Permission-based UI working
- All controls respect permissions
- Tooltips showing
- Debug mode available
Estimated Time: 3-5 days
Task 6.3: Data Visualization
Subtasks:
- Integrate charting library:
- Chart.js or Recharts (recommended)
- D3.js for custom visualizations (heatmaps)
- Install and configure
- GRU price history charts:
- Line chart with time range selector
- Ranges: 1 day, 7 days, 30 days, 90 days, 1 year
- Multiple series (different indexes)
- Interactive tooltips (show on hover)
- Zoom and pan (optional)
- Settlement volume time series:
- Area chart or line chart
- Grouped by asset type (stacked area)
- Time range selector
- Export functionality (PNG/PDF)
- Risk heatmap visualization:
- Custom D3 component or library
- Color gradient (green to red)
- Interactive (click to view details)
- Hover tooltips (show risk score, factors)
- Asset distribution pie charts:
- Breakdown by asset type
- Click slice to filter
- Percentage labels
- Legend
- Corridor volume bar charts:
- Horizontal bar chart
- Top 20 corridors
- Sortable (by volume)
- Click bar to view corridor details
- Interactive tooltips on all charts:
- Show on hover
- Detailed information
- Format numbers/currency
- Custom styling
- Export chart functionality:
- PNG export (high resolution)
- PDF export (with chart + data table)
- CSV export (for data)
- Export button on each chart
- Chart configuration options:
- Time range selector (dropdown)
- Aggregation (hourly, daily, weekly)
- Show/hide series (checkboxes)
- Color customization (theme)
Deliverables:
- All charts displaying correctly
- Interactive features working
- Export functionality working
- Responsive charts
Estimated Time: 1.5 weeks
Task 6.4: Control Action Modals & Forms
Subtasks:
-
GRU Issuance Proposal modal:
- Form fields:
- GRU class selector (dropdown, required)
- Amount input (number, min: 0, required, formatted)
- Reason textarea (required, min 10 chars)
- Effective date picker (optional, future dates)
- Validation:
- Required fields check
- Amount > 0
- Date in future (if provided)
- Show validation errors inline
- Submit button:
- Creates proposal
- Shows success toast
- Closes modal
- Refreshes data
- Form fields:
-
Corridor Cap Adjustment modal:
- Route selector (searchable dropdown, required)
- Current cap display (read-only, formatted)
- New cap input (number, min: current cap, required)
- Reason field (required, textarea)
- Confirmation step:
- Shows before/after comparison (table)
- Confirm checkbox ("I understand this change")
- Submit button
-
Kill Switch modal:
- Scope selector (radio buttons: global, SCB, corridor, required)
- Target selection (conditional):
- SCB selector (if scope = SCB, searchable dropdown)
- Corridor selector (if scope = corridor, searchable dropdown)
- Reason field (required, textarea, min 20 chars)
- Multi-step confirmation:
- Warning message (red, large text)
- Confirm action checkbox ("I understand this is a critical action")
- Enter "KILLSWITCH" to confirm (text input, case-sensitive)
- Final confirmation checkbox
- Submit button (red, destructive styling, large)
- Logs critical action (audit log)
-
FI Approval/Suspension modal:
- FI selector (searchable dropdown, required)
- Action selector (radio: approve, suspend, required)
- Reason field (required, textarea)
- Confirmation message:
- Shows action and FI name (large text)
- Warning if suspending (yellow banner)
- Submit button
-
Circuit Breaker Configuration modal:
- Index selector (dropdown, required)
- Current settings display (read-only, formatted)
- Max intraday move input (percentage, 0-100, required)
- Enable/disable toggle
- Save button
- Validation (percentage 0-100)
-
All modals should:
- Show loading states during submission (spinner on button)
- Display success/error toast messages
- Log actions (visible in audit log viewer)
- Require appropriate permissions (check before showing)
- Handle validation errors (show inline, red text)
- Support keyboard navigation:
- ESC to close
- Enter to submit (if form valid)
- Tab to navigate fields
- Focus trap (can't tab outside modal)
- Backdrop click to close (optional, configurable per modal)
- Smooth animations (fade in/out)
Deliverables:
- All modals implemented
- Forms validated
- Keyboard navigation working
- Loading states working
Estimated Time: 1 week
Phase 7: Error Handling & UX Polish (1 Task)
Task 7.1: Error Handling & User Feedback
Subtasks:
- Global error boundary component:
- Catches React errors
- Shows friendly error message
- "Reload page" button
- Error reporting (log to monitoring service)
- Stack trace (development only)
- API error handling:
- Network errors:
- Show user-friendly message ("Unable to connect to server")
- Retry button
- Offline indicator (banner)
- 4xx errors (client errors):
- 401: Redirect to login, show message
- 403: Show "Unauthorized" message, suggest contacting admin
- 404: Show "Not found" message
- 422: Show validation errors (list of errors)
- Generic 4xx: Show error message from API
- 5xx errors (server errors):
- Show generic error message ("Server error, please try again")
- Log details to monitoring
- "Report issue" button (opens form)
- Network errors:
- Form validation:
- Real-time validation (on blur)
- Field-level error messages (red text below field)
- Required field indicators (*)
- Validation summary (if form invalid, show at top)
- Disable submit if form invalid
- Loading states:
- Button loading spinners (during async actions)
- Page-level loading skeletons (initial load)
- Inline loading indicators (for data updates)
- Progress bars (for long operations, e.g., exports)
- Toast notifications:
- Success: Green, auto-dismiss 3s, checkmark icon
- Error: Red, manual dismiss, X icon
- Warning: Yellow, auto-dismiss 5s, warning icon
- Info: Blue, auto-dismiss 4s, info icon
- Stack multiple toasts (max 5)
- Position: top-right (default, configurable)
- Smooth animations
- Confirmation dialogs:
- For destructive actions
- Title, message, confirm/cancel buttons
- Danger variant (red styling)
- Customizable button text
- Optimistic UI updates:
- Update UI immediately (where safe)
- Rollback on error (show error, revert UI)
- Show loading state during request
- Examples: Toggle switches, status changes
- Retry mechanisms:
- Retry button on failed requests
- Auto-retry for network errors (3 attempts)
- Exponential backoff (1s, 2s, 4s)
- Show retry count
- Offline detection:
- Detect when offline (navigator.onLine)
- Show offline banner (top of page)
- Queue actions when offline (localStorage)
- Sync when back online (process queue)
- Show queued actions count
- Error logging:
- Log to monitoring service (Sentry, etc.)
- Include user context (user ID, role)
- Include error stack trace
- Don't log sensitive data (passwords, tokens)
- User ID for error tracking
Deliverables:
- Complete error handling
- All error states handled
- User feedback working
- Offline support working
Estimated Time: 1 week
Phase 8: Testing & Documentation (2 Tasks)
Task 8.1: Testing
Subtasks:
- Unit tests:
- Utility functions (100% coverage target)
- Custom hooks (usePermissions, useRealtimeMetrics, etc.)
- Service functions (API clients, auth service)
- Form validation functions
- Date formatting functions
- Component tests:
- Shared components:
- DataTable (sorting, filtering, pagination)
- StatusIndicator (status display)
- MetricCard (KPI display)
- Form components (validation, submission)
- Modal (open/close, keyboard navigation)
- Admin-specific components:
- PermissionGate (permission checks)
- AuditLogViewer (display, filtering)
- Shared components:
- Integration tests:
- API service integration:
- Mock API responses
- Test error handling
- Test retry logic
- Test token refresh
- Auth flow:
- Login
- Token refresh
- Logout
- Session timeout
- Permission checks:
- Verify UI respects permissions
- Test permission-based rendering
- API service integration:
- E2E tests (Playwright or Cypress):
- Critical user flows:
- Login → View dashboard → Perform action
- Navigate between screens
- Submit forms
- View details modals
- Permission-based access:
- Test with different roles
- Verify restricted access
- Form submissions:
- Valid submissions
- Invalid submissions
- Error handling
- Critical user flows:
- Responsive design testing:
- Test on multiple screen sizes:
- Desktop (1920px, 1440px, 1280px)
- Tablet (768px, 1024px)
- Mobile (375px, 414px)
- Verify layout adapts correctly
- Test touch interactions
- Test on multiple screen sizes:
- Cross-browser testing:
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Verify compatibility
- Accessibility testing:
- Keyboard navigation (all interactive elements)
- Screen reader compatibility (ARIA labels)
- Color contrast (WCAG AA compliance)
- Focus indicators (visible focus states)
- Use axe-core or similar tool
Deliverables:
- Test suite complete
- All tests passing
- Coverage report (aim for 80%+)
- E2E tests running in CI
Estimated Time: 2 weeks
Task 8.2: Documentation
Subtasks:
- Component documentation (Storybook):
- All shared components
- Usage examples
- Props documentation
- Interactive examples
- Code snippets
- Deploy Storybook (hosted)
- API integration guide:
- Endpoint documentation:
- All DBIS admin endpoints
- All SCB admin endpoints
- Request/response examples
- Error responses
- Authentication:
- How to get tokens
- How to refresh tokens
- How to handle 401 errors
- Error handling:
- Common errors
- How to handle them
- TypeScript types:
- Import types
- Use in components
- Endpoint documentation:
- Permission matrix documentation:
- All permissions listed
- Role-to-permission mapping table
- UI visibility rules:
- Which components require which permissions
- How to check permissions in code
- Examples of permission checks
- User guide:
- Admin operations guide:
- How to view dashboards
- How to perform actions
- Common workflows
- Screenshots for each screen
- Step-by-step tutorials:
- Creating GRU issuance proposal
- Adjusting corridor caps
- Managing FIs
- FAQ section
- Admin operations guide:
- Developer setup guide:
- Installation steps:
- Node.js version
- Package manager (npm/yarn/pnpm)
- Install dependencies
- Environment setup:
- Environment variables
- API endpoint configuration
- Development workflow:
- Running dev server
- Building for production
- Running tests
- Code style guide:
- Naming conventions
- File structure
- Component patterns
- Installation steps:
- Deployment documentation:
- Build process:
- Production build command
- Optimization steps
- Environment variables:
- Required variables
- Optional variables
- Example .env files
- Deployment steps:
- Build artifacts
- Deploy to server
- Configure reverse proxy
- SSL certificate setup
- CI/CD pipeline (if applicable):
- GitHub Actions workflow
- Automated testing
- Automated deployment
- Build process:
Deliverables:
- Complete documentation
- Storybook deployed
- User guide published
- Developer guide published
Estimated Time: 1.5 weeks
Summary
Total Tasks: 23 major tasks across 8 phases
Total Subtasks: 200+ detailed implementation steps
Estimated Timeline:
- Phase 1 (Setup): 2-3 weeks
- Phase 2 (Navigation): 1 week
- Phase 3 (API): 1 week
- Phase 4 (DBIS Screens): 4-5 weeks
- Phase 5 (SCB Screens): 2 weeks
- Phase 6 (Advanced Features): 2-3 weeks
- Phase 7 (Error Handling): 1 week
- Phase 8 (Testing & Docs): 2 weeks
Total Estimated Time: 15-18 weeks for complete, production-ready frontend
Dependencies:
- Backend APIs (✅ Complete)
- Frontend framework selection (Pending)
- Design system/UI library selection (Pending)
Critical Path:
- Framework selection → Setup → Base components
- Auth system → Navigation → API integration
- Screens can be built in parallel after Phase 3
- Advanced features depend on screens being complete
- Testing and docs can run parallel to development