Arsitektur 5-lapis dengan tag fase: π’ P1 MVP Β· π΅ P2 Scale Β· π£ P3 Expansion
graph TD
subgraph "Client Layer"
WEB["Web App
Next.js + React SSR
π’ P1"]
PWA["Mobile / PWA
π΅ P2"]
NATIVE["Mobile Native iOS/Android
π£ P3"]
end
subgraph "Edge"
GW["API Gateway
Auth + Rate Limit
π’ P1"]
CDN["CDN + Public API
π£ P3"]
end
subgraph "Application Services"
AUTH["Auth + KYC
π’ P1"]
ATS["ATS / Curation
π’ P1"]
MATCH["Matching v1 rule-based
π’ P1"]
ML["Matching v2 ML-based
π£ P3"]
CTR["Contract + Escrow
π’ P1"]
COMM["Communication
π’ P1"]
POD["Managed Pod Service
π΅ P2"]
REF["Referral Program
π΅ P2"]
end
subgraph "Data Layer"
PG[("PostgreSQL
π’ P1")]
REDIS[("Redis Cache + Queue
π’ P1")]
S3[("Object Storage
π’ P1")]
DW[("Data Warehouse
π΅ P2")]
end
subgraph "External Integrations"
STRIPE["Stripe Connect MoR
π’ P1"]
DEEL["Deel Cross-border
π΅ P2"]
EMAIL["Email + SMS
π’ P1"]
GH["Auto GitHub Scoring
π£ P3"]
end
WEB --> GW
PWA --> GW
NATIVE --> CDN
CDN --> GW
GW --> AUTH
GW --> ATS
GW --> MATCH
GW --> ML
GW --> CTR
GW --> COMM
GW --> POD
GW --> REF
AUTH --> PG
ATS --> PG
ATS --> S3
ATS --> GH
MATCH --> PG
MATCH --> REDIS
ML --> DW
CTR --> PG
CTR --> STRIPE
CTR --> DEEL
COMM --> REDIS
COMM --> EMAIL
POD --> PG
REF --> PG
classDef p1 fill:#d1fae5,stroke:#059669,color:#064e3b
classDef p2 fill:#dbeafe,stroke:#2563eb,color:#1e3a8a
classDef p3 fill:#f3e8ff,stroke:#7c3aed,color:#581c87
class WEB,GW,AUTH,ATS,MATCH,CTR,COMM,PG,REDIS,S3,STRIPE,EMAIL p1
class PWA,POD,REF,DW,DEEL p2
class NATIVE,CDN,ML,GH p3
| Phase | Komponen baru |
|---|---|
| π’ P1 MVP | Web App, API Gateway, 5 core services (Auth/ATS/Match v1/Contract/Comm), PostgreSQL + Redis + S3, Stripe MoR, Email |
| π΅ P2 Scale | Mobile PWA, Managed Pod, Referral, Data Warehouse, Deel |
| π£ P3 Expansion | Mobile native, CDN + Public API, ML Matching v2, Auto GitHub Scoring |