Update README.md
Browse files
README.md
CHANGED
@@ -126,44 +126,4 @@ print(plantuml_code)
|
|
126 |
|
127 |

|
128 |
|
129 |
-
## Eval Q2
|
130 |
-
**Question:**
|
131 |
-
*"Generate a PlantUML diagram that visualizes a microservices-based e-commerce architecture with the following components and relationships:
|
132 |
-
|
133 |
-
1. **Frontend Services:**
|
134 |
-
- A React-based 'Storefront' app (handles product listings, cart, and checkout).
|
135 |
-
- An Angular-based 'Admin Dashboard' (for inventory, orders, and analytics).
|
136 |
-
- Both interact with an 'API Gateway' (Kong) that routes requests to backend services.
|
137 |
-
|
138 |
-
2. **Backend Services:**
|
139 |
-
- 'Product Service' (manages SKUs, pricing, and inventory; uses PostgreSQL).
|
140 |
-
- 'Order Service' (processes transactions, integrates with Stripe/PayPal; uses MongoDB).
|
141 |
-
- 'User Service' (handles authentication via JWT/OAuth2; Redis cache for sessions).
|
142 |
-
- 'Recommendation Service' (ML-driven, trained via TensorFlow; pulls data from a Kafka stream).
|
143 |
-
- 'Notification Service' (email/SMS alerts via AWS SNS).
|
144 |
-
|
145 |
-
3. **Supporting Infrastructure:**
|
146 |
-
- Docker containers orchestrated via Kubernetes (with labeled nodes for 'prod' and 'staging').
|
147 |
-
- CI/CD pipeline (GitHub Actions → Docker Hub → ArgoCD for deployments).
|
148 |
-
- Monitoring stack (Prometheus + Grafana, with custom dashboards per service).
|
149 |
-
- External dependencies (Stripe API, Twilio API, and a legacy ERP system exposed via REST).
|
150 |
-
|
151 |
-
4. **Data Flow:**
|
152 |
-
- Async communication between services via RabbitMQ (e.g., order confirmations → notifications).
|
153 |
-
- Event sourcing for 'Order Service' using Kafka (commands vs. events).
|
154 |
-
- CQRS pattern separating read/write databases for 'Product Service.'
|
155 |
-
|
156 |
-
5. **Security & Observability:**
|
157 |
-
- TLS/mTLS between services.
|
158 |
-
- Istio for service mesh (with circuit breakers and retries).
|
159 |
-
- Distributed tracing (Jaeger) and structured logging (ELK stack).
|
160 |
-
|
161 |
-
**Additional Requirements:**
|
162 |
-
- Color-code services by domain (e.g., yellow for payment, green for inventory).
|
163 |
-
- Annotate critical interactions (e.g., 'HTTP POST /orders').
|
164 |
-
- Include a legend explaining symbols (containers, queues, databases).
|
165 |
-
- Optionally, overlay a sequence diagram snippet showing the 'checkout flow' (user → API Gateway → Order Service → Payment → Notification)."*
|
166 |
-
|
167 |
-
|
168 |
-

|
169 |
|
|
|
126 |
|
127 |

|
128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
|