-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSystemDesign
More file actions
84 lines (71 loc) · 3.68 KB
/
SystemDesign
File metadata and controls
84 lines (71 loc) · 3.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
System Design Details
1. Modules of the System
Frontend:
Built with React.js.
Handles user interfaces for customers and admin (e.g., product listing, cart, checkout, and admin panel for CRUD operations).
Uses Redux.js for state management to handle seamless API interactions.
Backend:
Built with Node.js and Express.js.
API Gateway for routing user requests to appropriate microservices.
Implements modular services:
User Management Service: Handles user registration, authentication (JWT), and roles (admin vs. user).
Product Service: CRUD operations for products.
Order Service: Processes and tracks orders.
Payment Service: Handles PayPal integration.
Analytics Service: Provides real-time data visualizations using Apex Charts.
Database:
MongoDB: NoSQL database to handle unstructured data like user profiles, product details, and orders.
Use of proper indexing for faster query execution.
Payment Gateway:
Integrated with PayPal API for secure online payments.
Data Visualization:
ApexCharts integrated into the admin panel for visualizing sales data, user activities, and performance metrics.
Caching Layer:
System Architecture Diagram
Here’s the high-level system design:
+---------------------------------------------+
| Users |
+---------------------------------------------+
| |
v v
+----------------+ +----------------+
| Admin Panel | | User Interface |
+----------------+ +----------------+
| |
+------------------+
|
v
+-------------------+
| API Gateway |
+-------------------+
|
+--------------------+-------------------+--------------------+
| | | |
v v v v
+------------+ +----------------+ +----------------+ +----------------+
| Auth | | Product | | Order | | Payment |
| Service | | Service | | Service | | Service |
+------------+ +----------------+ +----------------+ +----------------+
| | | |
v v v v
+----------------+ +----------------+ +----------------+ +----------------+
| User DB | | Product DB | | Order DB | | Payment DB |
| (MongoDB) | | (MongoDB) | | (MongoDB) | | (MongoDB) |
+----------------+ +----------------+ +----------------+ +----------------+
|
v
+-------------------+
| Caching Layer |
| (Redis) |
+-------------------+
|
v
+----------------------------+
| Message Queue (RabbitMQ) |
+----------------------------+
|
v
+--------------------------+
| Logging/Monitoring Tools |
| (Prometheus/Grafana) |
+--------------------------+