A comprehensive system for banks and financial institutions to submit and map data to the CDM (Common Domain Model) ISDA standard. This application provides intelligent field mapping, external data validation, and a complete manual entry interface with drill-down capabilities.
š Features
Core Functionality
Multi-Format File Upload: Support for Excel (.xlsx, .xls, .csv), SQL Server, and Oracle data formats
Intelligent Field Mapping: AI-powered mapping to CDM ISDA model with confidence scoring
External Data Validation: Real-time validation against external data sources (currency codes, business centers, rate indices)
Manual Entry Interface: Complete CDM model with expandable drill-down sections
Real-time Validation: Comprehensive validation with error and warning reporting
Multiple Export Formats: Export to JSON, XML, and CSV formats
User Experience
MP Capital Branding: Professional branding with custom styling and logo
Responsive Design: Works seamlessly on desktop and mobile devices
Progress Tracking: Visual progress indicators throughout the workflow
Template System: Pre-built templates for common trade types (Interest Rate Swaps, Cap/Floor)
Search & Filter: Advanced search and filtering capabilities
Drag & Drop: Intuitive file upload with drag-and-drop support
Technical Features
External API Integration: Validates currencies, business centers, and rate indices
CDM Compliance: Full compliance with CDM ISDA standards
Error Handling: Comprehensive error handling with detailed feedback
Performance Optimized: Efficient processing of large data files
Security: Secure file handling and data processing
šļø Architecture
Backend Services
backend/
āāā index.ts # Main Hono server with CORS and error handling
āāā routes/
ā āāā upload.ts # File upload, processing, and export
ā āāā mapping.ts # CDM structure, validation, and templates
āāā services/
āāā cdm-parser.ts # CDM model parsing and validation
āāā file-processor.ts # Multi-format file processing
āāā external-data.ts # External data source integration
Frontend Components
frontend/
āāā index.html # Main HTML with MP Capital styling
āāā index.tsx # React application entry point
āāā components/
āāā App.tsx # Main application with routing
āāā Header.tsx # Navigation with progress tracking
āāā FileUpload.tsx # File upload with drag-and-drop
āāā MappingView.tsx # Interactive field mapping interface
āāā ManualEntry.tsx # CDM manual entry with drill-down
Shared Resources
shared/
āāā types.ts # Complete CDM type definitions
āāā utils.ts # Utility functions and validation
šÆ User Workflow
1. File Upload
Drag & Drop Interface: Users can drag files directly onto the upload area
Format Detection: Automatic detection of file format (Excel, SQL, Oracle)
Validation: File size and format validation before processing
Progress Tracking: Real-time upload and processing progress
2. Field Mapping
Automatic Mapping: AI-powered field mapping with confidence scores
Manual Adjustment: Users can review and adjust mappings
External Validation: Real-time validation against external data sources
Mapping Suggestions: Intelligent suggestions for unmapped fields
3. Manual Entry (Alternative Path)
Complete CDM Structure: Full CDM model with all sections
Drill-Down Interface: Expandable sections for detailed data entry
Template Support: Pre-built templates for common trade types
Field Validation: Real-time validation with error highlighting
4. Review & Export
Data Preview: Complete review of mapped CDM data
Validation Summary: Overview of errors and warnings
Multiple Export Formats: JSON, XML, and CSV export options
Download: Direct download of processed data
š§ API Endpoints
Upload Endpoints
POST /api/upload/file - Upload and process data files
GET /api/upload/formats - Get supported file formats
POST /api/upload/validate-field - Validate individual fields
POST /api/upload/suggest-mapping - Get mapping suggestions
POST /api/upload/export - Export processed data
Mapping Endpoints
GET /api/mapping/structure - Get complete CDM structure
POST /api/mapping/validate - Validate CDM trade data
POST /api/mapping/validate-field - Validate specific fields
GET /api/mapping/suggestions/:fieldPath - Get field suggestions
GET /api/mapping/templates - Get trade templates
Health Check
GET /api/health - System health status
š Supported Data Formats
Excel Files (.xlsx, .xls, .csv)
Requirements: Headers in first row, data from second row