workspace "Cowally Platform" "Internal Integration & Partner Ecosystem Overview" { model { client = person "Client" "A fintech or finance company that uses Cowally to offer digital financial services." user = person "User" "An end customer using the client-branded app powered by Cowally." integrationUser = person "Integration User" "A system or service that integrates directly with Cowally's API for data access and automation." cowally = softwareSystem "Cowally Platform" "White-label embedded finance orchestration platform." { mobileApp = container "Mobile App" "Superapp for users to access all enabled modules and features offered by the financial entity" "Mobile" webApp = container "Web App" "Web-based interface for users with same functionality as mobile app, with some platform-specific variations" "Web" adminDashboard = container "Admin Dashboard" "Web-based system for client administrators to manage financial products and user access" "Web" whatsapp = container "WhatsApp Integration" "WhatsApp interface for users to access services via chat" "Messaging Platform" orchestration = container "Core Orchestration Engine" "Handles business logic, user flows, and partner coordination" "Node.js" api = container "Unified API Layer" "Abstracted API layer for client interaction" "REST/GraphQL" kycService = container "KYC Integration" "Handles KYC verification services" "External API Integration" signatureService = container "Signature Flow" "Manages digital signatures and document signing" "External API Integration" bankingCore = container "Banking Connector" "Integrates with banking partners for account management" "External API Integration" paymentGateway = container "Payment Orchestrator" "Handles payment processing and routing" "External API Integration" loanCore = container "Loan Core" "Stores data about credit products, loan configurations, active loans, payments and such" "Database/API" decisionEngine = container "Decision Engine" "Automates credit-risk decisions" "Cloud Service" user -> mobileApp "Uses" user -> webApp "Uses" user -> whatsapp "Uses" client -> adminDashboard "Uses" integrationUser -> api "Integrates with" mobileApp -> api "Consumes" webApp -> api "Consumes" adminDashboard -> api "Consumes" whatsapp -> api "Consumes" api -> orchestration "Forwards requests" orchestration -> kycService "Calls for user KYC verification" orchestration -> signatureService "Triggers signature flow" orchestration -> bankingCore "Creates and syncs accounts with banking partners" orchestration -> paymentGateway "Routes payments" orchestration -> loanCore "Manages loan data and configurations" orchestration -> decisionEngine "Requests credit risk assessments" } clientCore = softwareSystem "Client's CORE/Integration Layer" "Client's internal systems for user management, financial data, and business rules" "External System" orchestration -> clientCore "Confirms user identity and manages access" orchestration -> clientCore "Retrieves financial product information (accounts, balances, credit lines)" decisionEngine -> clientCore "Gets client-specific rules and custom logic (whitelists/blacklists)" } views { systemContext cowally { include * autolayout lr } container cowally { include * autolayout lr } theme default } }