A curated collection of real-world enterprise architecture designs from 11+ years of experience as a Solution Architect and Tech Lead. These diagrams represent patterns used in production systems serving 145+ branches, thousands of users, and multiple industries.
- Retail Platform Architecture
- AI/ML Data Pipeline Architecture
- ERP + Hardware Integration Architecture
- Microservices Architecture Pattern
- Clean Architecture (.NET Core)
- TMS Geospatial Mobile Architecture
Stack: .NET Core · Angular · MariaDB · REST APIs · ZKTeco Biometrics
A real-time retail management platform serving 145+ branches across Pakistan. The architecture is built for high availability, offline resilience, and centralized reporting.
graph TB
subgraph HQ["🏢 Headquarters — Central Hub"]
API["⚙️ .NET Core API Gateway"]
Auth["🔐 Auth Service (JWT)"]
CentralDB[("🗄️ MariaDB — Central DB")]
ReportEngine["📊 Reporting Engine"]
AdminPortal["🖥️ Angular Admin Portal"]
end
subgraph Branch["🏪 Branch Node (×145)"]
BranchApp["🖥️ Branch POS App (.NET Core)"]
LocalDB[("💾 Local SQLite/MariaDB")]
Biometric["👁️ ZKTeco Biometric Gate"]
Printer["🖨️ Receipt Printer"]
end
subgraph Mobile["📱 Mobile Layer"]
AndroidApp["📱 Android App"]
iOSApp["🍎 iOS App"]
end
AdminPortal --> LoadBalancer
LoadBalancer --> API
API --> Auth
API --> CentralDB
API --> ReportEngine
BranchApp -->|"Sync (scheduled)"| API
BranchApp --> LocalDB
BranchApp --> Biometric
AndroidApp --> API
iOSApp --> API
Key Design Decisions:
- 🔄 Offline-first: Branch apps work without internet; sync when connection restored
- 🔐 JWT Auth: Centralized authentication with branch-level role control
- 📊 Real-time reporting: HQ sees live data across all 145 branches
- 🛡️ Hardware integration: Biometric gates enforce attendance at branch level
Stack: Python · YOLO · LangChain · Ollama · VAPI · AWS Rekognition · FastAPI
flowchart TB
subgraph Input["📥 Input Sources"]
CCTV["📹 CCTV Cameras"]
VoiceCall["📞 Voice Calls (VAPI)"]
DocUpload["📄 Documents / PDFs"]
APIReq["🌐 REST API Requests"]
end
subgraph CV["👁️ Computer Vision Layer"]
YOLOModel["🎯 YOLO v8 Model"]
FaceLiveness["🎭 Face Liveness API"]
FrameProc["🔄 Frame Processor (OpenCV)"]
end
subgraph LLM["🧠 LLM Layer"]
LangChain["⛓️ LangChain Orchestration"]
Ollama["🦙 Ollama (On-Premise LLM)"]
VAPIAssist["🎙️ VAPI AI Call Assistant"]
RAG["📚 RAG Pipeline"]
end
CCTV --> FrameProc --> YOLOModel
APIReq --> FaceLiveness
DocUpload --> RAG --> LangChain --> Ollama
VoiceCall --> VAPIAssist --> LangChain
| Component | Role |
|---|---|
| YOLO v8 | Uniform compliance detection, employee counting via CCTV |
| LangChain + Ollama | On-premise LLM for privacy-compliant document Q&A |
| VAPI | AI-powered voice call assistant for customer service |
| AWS Rekognition | Face liveness & identity verification |
Stack: ERPNext (Frappe) · Python · ZKTeco SDK · RS232/Modbus · Weighbridge · Geospatial PDF
graph LR
subgraph Hardware["🏭 Hardware Layer"]
Biometric["👁️ ZKTeco Biometric Gates"]
PlantGauge["🌡️ Plant Gauges (RS232)"]
Weighbridge["⚖️ Weighbridge (Modbus)"]
GPS["📍 GPS Trackers"]
end
subgraph Integration["🔌 Integration Layer"]
ZKLib["🐍 ZKTeco Python SDK"]
SerialReader["📡 Serial Port Reader"]
ModbusClient["🔧 Modbus Client"]
GPSParser["🗺️ Geospatial PDF Parser"]
end
subgraph ERPNext["📦 ERPNext / Frappe"]
CustomApps["🧩 Custom Frappe Apps"]
DocTypes["📋 Custom DocTypes"]
Hooks["🎣 Frappe Hooks"]
Scheduler["⏱️ Background Scheduler"]
end
Biometric --> ZKLib --> Hooks
PlantGauge --> SerialReader --> Scheduler
Weighbridge --> ModbusClient --> Scheduler
GPS --> GPSParser --> CustomApps
Scheduler --> DocTypes
Hooks --> DocTypes
Stack: .NET Core · Docker · REST/gRPC · API Gateway · Event Bus
graph TB
Client["👤 Client Apps"] --> APIGW["⚖️ API Gateway"]
APIGW --> AuthSvc["🔐 Auth Service (.NET Core)"]
APIGW --> UserSvc["👤 User Service (.NET Core)"]
APIGW --> OrderSvc["📦 Order Service (.NET Core)"]
AuthSvc --> AuthDB[("Auth DB")]
UserSvc --> UserDB[("User DB")]
OrderSvc --> OrderDB[("Order DB")]
OrderSvc -->|"OrderCreated event"| EventBus["🚌 Event Bus"]
EventBus --> NotifSvc["🔔 Notification Service"]
EventBus --> ReportSvc["📊 Report Service"]
graph TD
subgraph Domain["⭕ Domain Layer"]
Entities["📋 Entities"]
IRepos["🔌 Repository Interfaces"]
end
subgraph Application["🔷 Application Layer"]
Commands["📝 Commands (CQRS)"]
Queries["🔍 Queries (CQRS)"]
Handlers["⚙️ MediatR Handlers"]
end
subgraph Infrastructure["🔶 Infrastructure Layer"]
Repos["🗄️ Repository Impl."]
EFCore["💾 EF Core DbContext"]
end
subgraph API["🌐 API Layer"]
Controllers["🎮 Controllers"]
Middleware["🛡️ Middleware"]
end
API --> Application
Infrastructure --> Domain
Application --> Domain
API -.-> Infrastructure
| Layer | Responsibility | Key Libraries |
|---|---|---|
| Domain | Business rules, entities | Pure C# |
| Application | Use cases, CQRS | MediatR, FluentValidation |
| Infrastructure | DB, external services | EF Core, Dapper |
| API | HTTP, routing, auth | ASP.NET Core, JWT |
Stack: Python · Android/iOS · Geospatial PDF parsing · FastAPI
sequenceDiagram
participant PM as 📄 PDF Maps
participant Parser as 🐍 PDF Parser
participant API as ⚙️ FastAPI Server
participant DB as 🗄️ Spatial DB
participant App as 📱 Mobile App
PM->>Parser: Upload geospatial PDF
Parser->>API: POST /maps/process
API->>DB: Store spatial data (GeoJSON)
App->>API: GET /routes/{id}
API->>App: Route + Map overlay
| Domain | Systems Built |
|---|---|
| 🛒 Retail & Distribution | 145-branch POS platform (.NET Core + Angular + MariaDB) |
| 🏭 Industrial/ERP | ERPNext with gauge, weighbridge & biometric hardware |
| 🤖 AI/ML | YOLO detection, LLM assistants, face liveness |
| 📡 Telecom | Contractor at Huawei/Alkan CIT (PHP systems) |
| 💼 Finance/Leasing | Enterprise NetSol leasing platform (Oracle + SQL Server) |
💡 Open to discussing architecture decisions, trade-offs, and enterprise system design.
Asad Mushtaq · Solution Architect & Tech Lead · Lahore, Pakistan