Unlisted
Like
CDMBenchmarking
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data β all from the browser, and deployed in milliseconds.
index.ts
https://MRPRRSIDENT--bc561f68cfa311f08a0042dde27851f2.web.val.run
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.
- 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
- 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
- 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
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/
βββ 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/
βββ types.ts # Complete CDM type definitions
βββ utils.ts # Utility functions and validation
- 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
- 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
- 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
- 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
POST /api/upload/file- Upload and process data filesGET /api/upload/formats- Get supported file formatsPOST /api/upload/validate-field- Validate individual fieldsPOST /api/upload/suggest-mapping- Get mapping suggestionsPOST /api/upload/export- Export processed data
GET /api/mapping/structure- Get complete CDM structurePOST /api/mapping/validate- Validate CDM trade dataPOST /api/mapping/validate-field- Validate specific fieldsGET /api/mapping/suggestions/:fieldPath- Get field suggestionsGET /api/mapping/templates- Get trade templates
GET /api/health- System health status
- Requirements: Headers in first row, data from second row
- Sample Headers: trade_id, trade_date, counterparty_name, notional, currency
- Max Size: 10MB
- Formats: INSERT statements or tab-separated query results
- Encoding: UTF-8
- Sample:
INSERT INTO trades (trade_id, trade_date) VALUES ('TRD001', '2024-01-15');
- Formats: Oracle INSERT statements or pipe-separated exports
- Encoding: UTF-8
- Sample:
INSERT INTO "TRADES" ("TRADE_ID") VALUES ('TRD001');
- Source: ExchangeRate-API and static currency lists
- Validates: ISO 4217 currency codes
- Examples: USD, EUR, GBP, JPY
- Source: ISDA standard business centers
- Validates: Business center codes
- Examples: GBLO, USNY, JPTO, FRPA
- Source: Standard floating rate indices
- Validates: Rate index names
- Examples: USD-SOFR, EUR-ESTR, GBP-SONIA
- Source: GLEIF API (when available)
- Validates: Legal Entity Identifiers
- Format: 20 alphanumeric characters
- Primary Color: #1e40af (Blue)
- Secondary Color: #3b82f6 (Light Blue)
- Accent Color: #f59e0b (Amber)
- Typography: Professional, clean fonts
- Logo: MP Capital with data visualization elements
- Cards: Rounded corners with subtle shadows
- Buttons: Primary and secondary button styles
- Forms: Consistent input styling with focus states
- Progress: Animated progress bars and spinners
- Status: Color-coded validation status indicators
- Main Interface: Visit the application URL
- File Upload: Start with the file upload interface
- Manual Entry: Or use the manual entry for direct CDM input
A sample CSV file is included (sample-data.csv) with example trade data:
trade_id,trade_date,counterparty_name,notional,currency,fixed_rate,floating_rate_index,maturity_date,product_type TRD001,2024-01-15,Bank ABC,1000000,USD,0.0325,USD-SOFR,2029-01-15,InterestRateSwap
- Upload Sample File: Use the provided sample CSV
- Review Mappings: Check the automatic field mappings
- Validate Data: Run validation to see external data checks
- Export Results: Download the mapped CDM data
- Backend: Hono.js for high-performance API
- Frontend: React 18 with TypeScript
- Styling: TailwindCSS with custom MP Capital theme
- File Processing: Custom parsers for multiple formats
- Validation: External API integration for data validation
- Streaming: Large file processing with progress tracking
- Caching: Intelligent caching of validation results
- Lazy Loading: Components loaded on demand
- Debouncing: Optimized API calls for real-time validation
- File Validation: Comprehensive file type and size validation
- Input Sanitization: All user inputs are sanitized
- Error Handling: Secure error messages without sensitive data
- CORS: Proper CORS configuration for API access
- Version: 1.0.0
- Status: Production Ready
- Last Updated: December 2024
- Compatibility: Modern browsers, mobile responsive
- In-App Help: Context-sensitive help throughout the interface
- Sample Files: Example files for testing different formats
- Error Messages: Detailed error messages with suggestions
- Validation Feedback: Real-time feedback on data quality
- Support: Available through the application interface
- Documentation: Comprehensive in-app documentation
- Updates: Regular updates with new features and improvements
MP Capital CDM ISDA Data Mapping System - Transforming financial data mapping with intelligence and precision.