System Architecture
Four-tier AI-enhanced enterprise architecture designed for scalability, security, and intelligent automation
Four-Tier AI Architecture (v2.0.0)
Frontend Layer
Next.js 14 with App Router and React Server Components
- •Pages in src/app/ with RSC
- •API routes in src/app/api/
- •WebSocket real-time updates
- •TailwindCSS utility classes
AI Services Layer
Hybrid AI combining computer vision with generative AI
- •DynamicElementDetector (TensorFlow.js)
- •AdaptiveSelectorAI (LLM)
- •DataNormalizerAI (LLM)
- •GPT-4, Gemini, DeepSeek, Local LLMs
Backend Core
Orchestration, security, and data processing
- •RPAEngine (orchestrator)
- •CredentialVault (AES-256-GCM)
- •ETL Pipeline (AI-enhanced)
- •WebAutomation (AI-assisted)
Worker Layer
Background job processing and scheduling
- •Extraction worker (BullMQ)
- •Scheduler worker (cron)
- •WebSocket server (real-time)
- •Redis queue management
Data Flow Architecture
User Request (Frontend)
User initiates action via React components → Next.js API routes
Backend Core Services
RPAEngine processes request → CredentialVault retrieves credentials → Queue job
Queue System (BullMQ + Redis)
Job queued with priority and retry logic → Distributed across workers
Worker Processes
Extraction worker executes → Connects to banking networks → Extracts data
Banking Network Sources
Payment processors (Visa, Mastercard, PayPal, Stripe) • Direct bank access (web automation, email/SMS download, manual OCR) • Shared infrastructure (FIS Global, Fiserv - Professional+ tiers)
ETL Pipeline
Validate data quality → Transform to standard format → Load to storage
Data Storage
PostgreSQL (transactional) → Microsoft Dynamic SL (storage or archives) or Microsoft Dynamics 365 (in future)
WebSocket Real-time Updates
Progress events broadcast → Frontend receives updates → UI automatically refreshes
Core Components
⚡RPAEngine
Central orchestration engine for job scheduling and management
const engine = new RPAEngine();
await engine.scheduleJob(config);
await engine.extractData(params);🔐CredentialVault
Encrypted credential storage with AES-256-GCM encryption
const vault = new CredentialVault();
await vault.store(id, data, options);
await vault.retrieve(id);🔄ETLPipeline
Extract, transform, load pipeline for data processing
const pipeline = new ETLPipeline();
const result = await pipeline.process(data);
// validate → transform → load🤖WebAutomation
Headless browser automation with Puppeteer/Playwright
const automation = new WebAutomation();
await automation.navigate(url);
await automation.fillForm(data);