Architecture

architecture-beta
    group ctrl(logos:aws)[Controller]

    service user(logos:chrome)[User]
    service python(logos:python)[Library]

    service web_api(logos:aws-api-gateway)[Web API Gateway] in ctrl
    service public_api(logos:aws-api-gateway)[Public API Gateway] in ctrl


    service app_config(logos:aws-config)[AppConfig] in ctrl
    service secrets(logos:aws-secrets-manager)[Secrets Manager] in ctrl

    service ua_svc(logos:aws-lambda)[UsersAccounts Service] in ctrl
    service ua_db(logos:aws-dynamodb)[UsersAccounts Table] in ctrl

    service key_svc(logos:aws-lambda)[API Key Service] in ctrl
    service key_db(logos:aws-dynamodb)[API Key Table] in ctrl

    service auth_svc(logos:aws-lambda)[Auth Service] in ctrl
    service auth_cognito(logos:aws-cognito)[Cognito] in ctrl

    junction ju
    junction jr
    junction jrr

    web_api:B -- T:auth_svc
    public_api:T -- B:auth_svc

    ua_svc:T -- B:ua_db
    key_svc:B -- T:key_db

    auth_svc:R -- L:jr
    jr:T -- B:ua_svc
    jr:B -- T:key_svc
    jr:R -- L:jrr
    jrr:T -- B:auth_cognito
    jrr:R -- L:app_config
    jrr:B -- T:secrets

    user:R -- L:web_api
    python:R -- L:public_api
    user:B -- T:ju
    ju:B -- T:python