System Architecture
High-level view of my production-style infrastructure environment, including routing, observability, DNS, and containerised services.
Traffic Flow
User ↓ Cloudflare DNS ↓ Nginx Reverse Proxy ↓ Next.js Frontend (waqasmohammad.com) ↓ Docker Services Layer ├── Umami Analytics ├── Ghost Blog (external) ├── Static Assets ↓ Data + Observability Layer ├── Prometheus (metrics) ├── Grafana (visualisation) └── Umami Dashboard
Frontend Layer
Next.js application serving as the primary interface for users, deployed in a containerised environment with reverse proxy routing.
Routing Layer
Nginx Proxy Manager handles SSL termination, routing, and domain-level request handling across multiple services.
Observability Layer
Prometheus and Grafana provide system-level monitoring, while Umami tracks user behaviour and engagement across the site.
Infrastructure Layer
Docker-based service isolation running on a Linux host with structured networking, persistent storage, and service segmentation.
Engineering Principle
This architecture is designed to simulate production-grade infrastructure patterns: separation of concerns, observable systems, modular services, and controlled routing layers. The goal is not complexity, but clarity, reliability, and operational visibility.