System Architecture
High-level overview of the complete system architecture, data flow, and component interactions.
PLATFORM OVERVIEWEnd-to-end platform: clients through API to services, data, and background workers.
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;Grade My Investments Platform Architecture
Presentation Layer
Client Web
Blazor WebAssemblyAdmin Web
Blazor WebAssemblyTechnology Web
Blazor WebAssemblyMobile App
.NET MAUIAPI Layer
Azure Functions
.NET 10 IsolatedService Layer
Gmi.Services
Business Logic & RepositoriesMachine Learning Layer
ML.NET Services
Financial Forecasting & Sentiment AnalysisData Access Layer
Entity Framework Core
Gmi.DataAccessData Layer
MySQL Database
Primary Data StoreAzure Blob Storage
File StorageData Flow
- User Interaction: Users access web applications (Client/Admin/Technology) and mobile apps (iOS/Android)
- API Calls: Blazor components call Azure Functions via HTTP
- Service Layer: Functions invoke business logic services
- ML Processing: ML.NET services generate forecasts and predictions
- Data Access: Services use Entity Framework to query database
- File Operations: Generated reports stored in Azure Blob Storage
- 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