GMI · TECHNOLOGY OBSERVATORY // ALL SYSTEMS NOMINAL
ENGINEERED BY LEOPARD DATA

System Architecture

High-level overview of the complete system architecture, data flow, and component interactions.

PLATFORM OVERVIEW
rendering diagram…
flowchart TB
    subgraph CLIENTS[Presentation Layer]
        CW[Client Web<br/>Blazor WASM]:::app
        AW[Admin Web<br/>Blazor WASM]:::app
        MB[Mobile App<br/>NET MAUI]:::app
    end
    subgraph API[API Layer]
        AF[Azure Functions<br/>NET 10 Isolated<br/>312 endpoints]:::svc
    end
    subgraph SERVICES[Service - Data Layer]
        SVC[Gmi.Services<br/>Business Logic]:::svc
        EF[EF Core<br/>GmiDbContext]:::svc
        DB[(MySQL<br/>67 tables)]:::data
        BLOB[(Azure Blob<br/>Storage)]:::data
    end
    subgraph WORKERS[Background Workers - Linux VM]
        RE[Report Engine]:::svc
        CA[Claude Analysis]:::svc
        BE[Billing Engine]:::svc
        OT[Email - SMS - Schedules<br/>Download Builder - Health Monitor]:::svc
    end
    EXT[External APIs<br/>FMP - Stripe - SendGrid - Twilio - Anthropic]:::ext

    CLIENTS -->|HTTPS JSON| AF
    AF --> SVC
    SVC --> EF
    EF --> DB
    SVC --> BLOB
    WORKERS --> SVC
    SVC --> EXT

    classDef app fill:#1f2630,stroke:#C0894E,color:#F3EFE8;
    classDef svc fill:#241c14,stroke:#E2B583,color:#F3EFE8;
    classDef data fill:#22201a,stroke:#C0894E,color:#EBD3AE;
    classDef ext fill:#1b1f27,stroke:#5A616B,color:#C4C0B8;
    classDef sec fill:#1d2733,stroke:#5cc8e0,color:#eafaff;
End-to-end platform: clients through API to services, data, and background workers.

Grade My Investments Platform Architecture

Presentation Layer

Client Web
Blazor WebAssembly
Admin Web
Blazor WebAssembly
Technology Web
Blazor WebAssembly
Mobile App
.NET MAUI

API Layer

Azure Functions
.NET 10 Isolated

Service Layer

Gmi.Services
Business Logic & Repositories

Machine Learning Layer

ML.NET Services
Financial Forecasting & Sentiment Analysis

Data Access Layer

Entity Framework Core
Gmi.DataAccess

Data Layer

MySQL Database
Primary Data Store
Azure Blob Storage
File Storage

Data Flow

  1. User Interaction: Users access web applications (Client/Admin/Technology) and mobile apps (iOS/Android)
  2. API Calls: Blazor components call Azure Functions via HTTP
  3. Service Layer: Functions invoke business logic services
  4. ML Processing: ML.NET services generate forecasts and predictions
  5. Data Access: Services use Entity Framework to query database
  6. File Operations: Generated reports stored in Azure Blob Storage
  7. Response: Data flows back through layers to user interface

Background Processing

Console Applications (Linux VM)
  • Report Generator Alpha ML.NET
  • PyEasy Console ML.NET
  • Report Engine
  • Billing Engine
  • Email Sender
  • SMS Sender
  • File Purge
  • Schedules Engine
  • Download Builder
  • Claude Analysis Console Claude AI
  • Report Comparison
  • Health Monitor
AI/ML Capabilities
  • Revenue forecasting
  • Sentiment analysis
  • Anomaly detection
  • Financial projections
  • Claude AI file analysis
Security Model
  • Azure AD authentication
  • Role-based authorization
  • HTTPS everywhere
  • API key management
Scalability
  • Serverless functions
  • Database connection pooling
  • Async/await patterns
  • Auto-scaling capabilities
Monitoring
  • Application Insights
  • Health checks
  • Alerting system
  • Performance metrics