C4 Model - tecnologiadB/MonitoramentoRuidoWiki GitHub Wiki

C4 Model - Sistema de Monitoramento de Ruido

C4 - Level 1: System Context

graph TD

    %% Nós principais
    Usuario[" Usuário<br/><small>Acessa dados e relatórios</small>"]
    WebApp[" Aplicação Web / Painel<br/><small>Exibe dashboards e relatórios</small>"]
    Servidor[" Servidor On-Premises<br/><small>Armazena dados e fornece API</small>"]
    Estacao[" Estação de Monitoramento<br/><small>Captura sinais e envia dados</small>"]

    %% Relações
    Usuario -->|Consulta dados e relatórios| WebApp
    WebApp -->|Obtém dados| Servidor
    Estacao -->|Envia dados acústicos e meteorológicos<br/>API / MQTT| Servidor
Loading

C4 - Level 2: Container View

flowchart TB
    classDef pc fill:#e0f2fe,stroke:#0284c7,color:#111;
    classDef backend fill:#dcfce7,stroke:#16a34a,color:#111;
    classDef db fill:#f3e8ff,stroke:#7c3aed,color:#111;
    classDef web fill:#fee2e2,stroke:#dc2626,color:#111;

    subgraph EstacaoLocal [Estacao de Monitoramento Local]
        LV[LabVIEW]:::pc
        SE[SoftwareEnvio .NET]:::pc
        SX[SoftwareExportacao .NET]:::pc
        VC[VaisalaConfigure Python]:::pc
        MQTTLocal[MQTT]:::pc
    end

    subgraph Backend [Servidor Central]
        API[Backend .NET]:::backend
        DB[PostgreSQL]:::db
        Frontend[Portal Web PHP]:::web
    end

    LV --> SE
    LV --> SX
    LV --> VC

    SE --> MQTTLocal
    SE --> API

    SX --> API

    API --> DB
    Frontend --> API
Loading

C4 - Level 3: Component View - Estacao Local

Aplicação C# - Subscriber

flowchart TB
    SE[SoftwareEnvio]
    FileWatcher[Monitor de Arquivos]
    Validator[Validador]
    AudioProcessor[Processador de Audio]
    JsonMapper[Montador JSON]
    RestClient[Cliente REST]
    MqttClient[Cliente MQTT]
    Logger[Logger TXT]

    SE --> FileWatcher
    FileWatcher --> Validator
    Validator --> AudioProcessor
    AudioProcessor --> JsonMapper
    JsonMapper --> RestClient
    JsonMapper --> MqttClient
    RestClient --> Logger
    MqttClient --> Logger
Loading

Aplicação C# - Sonômetro

flowchart TB
    SX[SoftwareExportacao]
    SDK[SDK Sonometro]
    XMLParser[Parser XML]
    JsonMapper2[Conversor JSON]
    RestClient2[Cliente REST]
    Logger2[Logger TXT]

    SX --> SDK
    SDK --> XMLParser
    XMLParser --> JsonMapper2
    JsonMapper2 --> RestClient2
    RestClient2 --> Logger2
Loading

Aplicação python - Vaisala

flowchart TB
    VC[VaisalaConfigure]
    SerialScanner[Scanner Serial]
    SerialComm[Modulo Serial]
    ConfigMgr[Gerenciador Config]
    Logger3[Logger TXT]

    VC --> SerialScanner
    SerialScanner --> SerialComm
    SerialComm --> ConfigMgr
    ConfigMgr --> Logger3
    SerialComm --> Logger3
Loading

C4 - Backend API

flowchart TB
    API[API Backend]
    Controller[Controller]
    Validator[Validador]
    Rules[Regras Negocio]
    Repository[Repository]
    DB[PostgreSQL]

    API --> Controller
    Controller --> Validator
    Validator --> Rules
    Rules --> Repository
    Repository --> DB
Loading

C4 - Portal Web

flowchart TB
    Web[Portal Web]
    Auth[Autenticacao]
    Charts[Graficos]
    APIClient[Cliente API]

    Web --> Auth
    Web --> Charts
    Charts --> APIClient
    Auth --> APIClient
Loading
⚠️ **GitHub.com Fallback** ⚠️