Google Sign-In Required

Use your company Google account to access the BetterFleet private content.

Back to private home

BetterFleet Support Private
Skip to content
BetterFleet Dev Wiki
Internal Application Diagrams
Initializing search
    bf-dev
    • Home
    • Product Capabilities
    • Process
    • Current Work
    • System Design
    • Software Reference
    • Operations
    bf-dev
    • Home
      • Overview
      • Manage
      • Overview
      • Product Engineering Workflow
      • Product Engineering Delivery
      • Product Engineering Workflow in Linear
        • GitLab Feature Flags
        • In-App Docs Authoring
        • Release Notes
      • Templates
      • Publishing
      • Workflow Companions
      • Overview
      • Active Artifacts
      • Backlog Artifacts
      • Archived Artifacts
      • Overview
      • Microgrid
      • OSCP
        • Challenge
        • Specification
        • Spec
        • Architecture
        • Overview
        • Script Runtime Model
        • Compose Profiles and Modes
        • Repo Topology
        • CI and Release Integration
        • Overview
        • Internal Application Diagrams
          • Core Request Lifecycle
          • Core Internal Layering
          • Manage Core Cloud Data Paths
          • Connect Protocol Processing
          • Incidents Processing Flow
          • Telematics Provider Flow
          • Depot Simulator Execution Model
          • Overview
          • Web Model
          • Core Model
        • Service Interaction Flows
        • Data and State
          • Index
          • bf-manage-web
          • bf-manage-core
          • bf-manage-connect
          • bf-manage-sitepwrmon
          • bf-manage-incidents
          • bf-telematics
          • bf-depot-sim
          • bf-manage-roaming
          • bf-support-microsite
          • bf-digital-twin
          • bf-schedule-creator
        • Overview
        • Internal Application Diagrams
        • Migration and Flags
        • Simulation Request Lifecycle
          • Index
          • bf-bnl-ui
          • bf-bnl-settings
          • bf-bnl-schedule-analysis-compute
          • bf-route-modelling
          • bf-schedule-creator
          • bf-digital-twin
        • Overview
        • Secrets and Env Strategy
        • Vendors and Local Dependencies
        • ADRs
        • Service Matrix
        • Cloud Dependencies
        • Ports and URLs
      • Onboarding
      • Daily Operations Runbook
        • Overview
        • Staging Hotfix Release
        • Production Hotfix Release
        • Terraform Plan Dry Runs
      • Troubleshooting
      • Testing Guide
    • Core Request Lifecycle
    • Core Internal Layering
    • Manage Core Cloud Data Paths
    • Connect Protocol Processing
    • Incidents Processing Flow
    • Telematics Provider Flow
    • Depot Simulator Execution Model

    Manage Internal Application Diagrams¶

    Core Request Lifecycle¶

    sequenceDiagram
      participant User
      participant Web as manage web
      participant Core as manage core
      participant DB as postgres
      participant MQ as rabbitmq
    
      User->>Web: trigger operation
      Web->>Core: call api endpoint
      Core->>DB: read or write domain state
      Core->>MQ: publish async event when needed
      DB-->>Core: persistence result
      Core-->>Web: response payload
      Web-->>User: updated screen state

    Core Internal Layering¶

    flowchart TD
      API[api and api public routers] --> Services[service layer]
      Services --> Adapters[adapters]
      Services --> Domain[charging and ocpi modules]
      Adapters --> Data[(postgres and valkey)]
      Adapters --> Cloud[(aws dynamodb and aws s3)]
      Services --> Events[rabbitmq event paths]

    Manage Core Cloud Data Paths¶

    flowchart LR
      Core[bf-manage-core]
      Reports[report generation]
      MessageLogs[message logging]
      S3[(aws s3)]
      DDB[(aws dynamodb)]
    
      Core --> Reports
      Core --> MessageLogs
      Reports --> S3
      Reports --> DDB
      MessageLogs --> DDB

    Connect Protocol Processing¶

    flowchart LR
      Charger[charge point device] --> Ingress[ocpp connection]
      Ingress --> Handler16[ocpp handler v1 6]
      Ingress --> Handler20[ocpp handler v2 0 1]
      Handler16 --> CoreLink[core connection]
      Handler20 --> CoreLink
      CoreLink --> CoreApi[manage core api]

    Incidents Processing Flow¶

    flowchart TD
      Events[event inputs] --> Bus[event bus]
      Bus --> Rules[incident rule engine]
      Rules --> Incidents[incident aggregate]
      Incidents --> Store[(incidents database)]
      Incidents --> Notify[notification formatting and sending]

    Telematics Provider Flow¶

    flowchart LR
      Provider[provider adapters] --> Poll[polling tasks]
      Poll --> Normalize[telematics normalization]
      Normalize --> Snapshot[snapshot module]
      Snapshot --> Api[v2 api modules]
      Snapshot --> Events[event layer]

    Depot Simulator Execution Model¶

    flowchart TD
      Config[simulation config] --> Engine[simulation engine]
      Engine --> Charger[charger simulation]
      Engine --> Fleet[fleet model]
      Engine --> Power[power model]
      Agents[agent actions] --> Engine
      Api[depot sim api] --> Engine
    Made with Material for MkDocs