@startuml
skinparam dpi 60

title Complete (End-To-End) - CONTAINER level)

participant "External" as C4InterFlow.SoftwareSystems.ExternalSystem.Interfaces.ExternalInterface

box "Internet Banking" #White
    participant "Web Application" as BigBankPlc.SoftwareSystems.InternetBanking.Containers.WebApplication
    participant "Single-Page App" as BigBankPlc.SoftwareSystems.InternetBanking.Containers.SinglePageApp
    participant "API Application" as BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication
    database "Database" as BigBankPlc.SoftwareSystems.InternetBanking.Containers.Database
    participant "Mobile App" as BigBankPlc.SoftwareSystems.InternetBanking.Containers.MobileApp
end box

participant "Mainframe Banking System" as BigBankPlc.SoftwareSystems.MainframeBankingSystem
participant "E-Mail System" as BigBankPlc.SoftwareSystems.EMailSystem

group External - Banking via Web App
BigBankPlc.Actors.Customer -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.WebApplication : Navigate
group Navigate
BigBankPlc.SoftwareSystems.InternetBanking.Containers.WebApplication -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.SinglePageApp : Load And Start
end
BigBankPlc.Actors.Customer -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.SinglePageApp : Sign In
group Sign In
BigBankPlc.SoftwareSystems.InternetBanking.Containers.SinglePageApp -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication : Sign In
group Sign In
BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.Database : Authenticate User
end
end
BigBankPlc.Actors.Customer -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.SinglePageApp : View Customer Details
group View Customer Details
BigBankPlc.SoftwareSystems.InternetBanking.Containers.SinglePageApp -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication : Get Customer
group Get Customer
BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication -> BigBankPlc.SoftwareSystems.MainframeBankingSystem : Get Customer
end
BigBankPlc.SoftwareSystems.InternetBanking.Containers.SinglePageApp -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication : Get Customer Accounts
group Get Customer Accounts
BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication -> BigBankPlc.SoftwareSystems.MainframeBankingSystem : Get Customer Accounts
end
end
BigBankPlc.Actors.Customer -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.SinglePageApp : View Account Transactions
group View Account Transactions
BigBankPlc.SoftwareSystems.InternetBanking.Containers.SinglePageApp -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication : Get Account Transactions
group Get Account Transactions
BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication -> BigBankPlc.SoftwareSystems.MainframeBankingSystem : Get Account Transactions
end
end
BigBankPlc.Actors.Customer -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.SinglePageApp : Create Account
group Create Account
BigBankPlc.SoftwareSystems.InternetBanking.Containers.SinglePageApp -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication : Create Account
group Create Account
BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication -> BigBankPlc.SoftwareSystems.MainframeBankingSystem : Create Account
BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication -> BigBankPlc.SoftwareSystems.EMailSystem : Send New Account Created Notification E Mail
end
end
end
group External - Banking via Mobile App
BigBankPlc.Actors.Customer -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.MobileApp : Sign In
group Sign In
BigBankPlc.SoftwareSystems.InternetBanking.Containers.MobileApp -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication : Sign In
group Sign In
BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.Database : Authenticate User
end
end
BigBankPlc.Actors.Customer -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.MobileApp : View Customer Details
group View Customer Details
BigBankPlc.SoftwareSystems.InternetBanking.Containers.MobileApp -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication : Get Customer
group Get Customer
BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication -> BigBankPlc.SoftwareSystems.MainframeBankingSystem : Get Customer
end
BigBankPlc.SoftwareSystems.InternetBanking.Containers.MobileApp -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication : Get Customer Accounts
group Get Customer Accounts
BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication -> BigBankPlc.SoftwareSystems.MainframeBankingSystem : Get Customer Accounts
end
end
BigBankPlc.Actors.Customer -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.MobileApp : View Account Transactions
group View Account Transactions
BigBankPlc.SoftwareSystems.InternetBanking.Containers.MobileApp -> BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication : Get Account Transactions
group Get Account Transactions
BigBankPlc.SoftwareSystems.InternetBanking.Containers.APIApplication -> BigBankPlc.SoftwareSystems.MainframeBankingSystem : Get Account Transactions
end
end
end
group External - Receive E-Mail Notifications
BigBankPlc.Actors.Customer -> BigBankPlc.SoftwareSystems.EMailSystem : Receive Password Changed Notification E-Mail
BigBankPlc.Actors.Customer -> BigBankPlc.SoftwareSystems.EMailSystem : Receive New Account Created Notification E-Mail
end


@enduml
