-
Notifications
You must be signed in to change notification settings - Fork 0
/
read.me
86 lines (66 loc) · 1.51 KB
/
read.me
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
84
85
86
Services
Gateway
[Authorize] Create/check token
Retrieve User IP to get GeoLocation (map in Kibana)
BFF aggregators (with gRPC)
Cash requests (InMemory)
Request limiting
Auth
AWS Cognito
JWT/Refresh token
Google/FB authentication
Save User IP with GeoLocation (map in Kibana)
User Logins/SignUps metrics to Prometheus/Grafana
Orders
Saga coordinator
PostgreSQL as DB (EF)
MediatR
CQRS pattern
FluentValidator
UnitOfWork for transactions
Basket
Redis as DB
gRPC for BFF aggregators?
Catalog
Elastic as DB for Autocomplete, complex searches and FT search in all fields
gRPC for BFF aggregators?
OpenTelemetry(APM?) (API controllers, Core, Elastic)
Inventory
Redis as DB
Payment
Stripe sandbox
PriceCalculator
Coupons
Time limited discounts
Calculates final price (have to store all current prices)
Get special offers for specific product
? as DB
Recommendations
Stores ratings, buy facts, reviews
Get ratings, "ALSO BOUGHT", Reviews
Neo4j as graph DB
Logging
seq
APM (OpenTelemetry?)
Notification service
Save UserDevices IDs
Deduplicate messages
Emulate sending by deleting old messages (TTL)
Redis as DB
ServiceBus
Kafka
RabbitMQ
For all services
Unit Testing
Functional Testing
HealthChecks for all services (https://medium.com/aspnetrun/microservices-monitoring-with-health-checks-using-watchdog-6b16fdae0349)
Pagination
Swagger in Dev
Good to have
SDK libs for project
User Secrets
CI/CD
K8s
Terraform
LB ?
Python scraping book store for realistic data