Skip to content

Latest commit

 

History

History
82 lines (66 loc) · 2.83 KB

README.md

File metadata and controls

82 lines (66 loc) · 2.83 KB

Potty Trainer

Demo

This is a web app used to reenforce positive behavior. It consists of the following main parts:

  • A Blazor WebAssembly app
  • .Net API
  • Azure Functions integration platform
  • Azure Storage Tables
  • Azure Storage Queues

Various sensors and activity platforms are integrated:

graph TD
    subgraph Azure
    style Azure fill:#DE5089

    subgraph Azure Static Web App
    StaticClient["Client (Blazor WebAssembly)"] --> WebAppAPI("API (Azure Functions)")
    end

    subgraph Azure Functions
    IntegrationAPI["Integration API"]
    QueueTrigger["Queue Trigger"]
    
    end
    AzureStorageTables[(Azure Storage Tables)]
    AzureStorageQueue[(Azure Storage Queue)]
    
    WebAppAPI --> AzureStorageTables
    IntegrationAPI <--> AzureStorageQueue
    IntegrationAPI --> AzureStorageTables
    AzureStorageQueue --> QueueTrigger
    QueueTrigger --> AzureStorageTables
    end

    subgraph TTN
    TTNMQTT --> TTNWebHook
    TTNWebHook --> IntegrationAPI
    end
    
    Dosette --> TTNMQTT
    GotMail --> TTNMQTT
    SnowMonitor --> TTNMQTT
    HousePlants --> TTNMQTT

    subgraph Withings
    WithingsNotify[Notify] --> IntegrationAPI
    StaticClient --> WithingsAuth[OAuth2] --> IntegrationAPI
    WithingsAPI[API] --> WithingsNotify
    IntegrationAPI <--> WithingsAPI
    IntegrationAPI --> WithingsSubscribe[Subscribe]
    WithingsSubscribe --> WithingsNotify
    end

    WithingsBPM[BPM] --> WithingsAPI
    WithingsCore[Weight] --> WithingsAPI

    subgraph GitHub
    style GitHub fill:#7F9E31
    Repo([Code Repository]) -.-> WebAppBuildAction[[Web App Build Action]]
    WebAppBuildAction -.-> StaticClient
    WebAppBuildAction -.-> WebAppAPI
    Repo -.-> IntegrationAPIBuildAction[[Integration API Build Action]]
    IntegrationAPIBuildAction -.-> IntegrationAPI
    end
Loading

Follow the hands-on tutorial to publish a Blazor WebAssembly app and .NET API with Azure Static Web Apps.

Main page Choose assignment