124 lines
2.9 KiB
Markdown
124 lines
2.9 KiB
Markdown
# 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.
|