# DBIS Core Lite - IBM 800 Terminal to Core Banking Payment System Tier-1-grade payment processing system connecting an IBM 800 Terminal (web emulator) through core banking to ISO 20022 pacs.008/pacs.009 generation and raw TLS S2S transmission, with full reconciliation and settlement finality. ## Architecture ``` IBM 800 Terminal (Web Emulator) ↓ Terminal Access Gateway (TAC) ↓ Payments Orchestration Layer (POL) ↓ Core Banking Ledger Interface ↓ ISO 20022 Messaging Engine ↓ Raw TLS S2S Transport Layer ↓ Receiving Bank Gateway ``` ## Key Features - **Web-based 3270/TN5250 Terminal Emulator** - Modern operator interface - **Terminal Access Gateway** - Secure abstraction with RBAC - **Payments Orchestration** - State machine with dual control (Maker/Checker) - **Compliance Screening** - Pre-debit sanctions/PEP screening - **Core Banking Integration** - Adapter pattern for ledger posting - **ISO 20022 Messaging** - pacs.008/pacs.009 generation with UETR - **Raw TLS S2S Transport** - Secure message delivery with framing - **Reconciliation Framework** - End-to-end transaction matching - **Settlement Finality** - Credit confirmation tracking - **Audit & Logging** - Tamper-evident audit trail ## Technology Stack - **Runtime**: Node.js with TypeScript - **Framework**: Express.js - **Database**: PostgreSQL (transactional), Redis (sessions/cache) - **Authentication**: JWT with RBAC - **Testing**: Jest ## Getting Started ### Prerequisites - Node.js 18+ - PostgreSQL 14+ - Redis 6+ (optional, for sessions) ### Installation ```bash npm install ``` ### Configuration Create a `.env` file: ```env NODE_ENV=development PORT=3000 DATABASE_URL=postgresql://user:password@localhost:5432/dbis_core REDIS_URL=redis://localhost:6379 JWT_SECRET=your-secret-key-change-this RECEIVER_IP=172.67.157.88 RECEIVER_PORT=443 RECEIVER_SNI=devmindgroup.com ``` ### Database Setup ```bash # Run migrations (to be created) npm run migrate ``` ### Development ```bash npm run dev ``` ### Build ```bash npm run build npm start ``` ### Testing ```bash npm test npm run test:coverage ``` ## Documentation Comprehensive documentation is available in the [`docs/`](docs/) directory: - [Architecture](docs/architecture.md) - System architecture and design - [API Reference](docs/api/reference.md) - Complete API documentation - [Deployment Guide](docs/deployment/deployment.md) - Production deployment - [Operations Runbook](docs/operations/runbook.md) - Day-to-day operations - [Export Feature](docs/features/exports/overview.md) - FIN file export functionality See [docs/README.md](docs/README.md) for the complete documentation index. ## Security - Operator authentication with JWT - RBAC with Maker/Checker separation - TLS for all external communication - Certificate pinning for receiver - Input validation and sanitization - Tamper-evident audit trail ## License PROPRIETARY - Organisation Mondiale Du Numérique, L.P.B.C.A.