System Design: 3-Day High-Traffic Donations Platform
Context
Design a donations platform to support a time-bounded, high-traffic fundraising campaign that runs for exactly three days. The platform must accept payments reliably at large, spiky volumes; display real-time progress and leaderboards; and cleanly start/stop at the scheduled times. Assume web and mobile clients.
What to Deliver
-
Functional requirements
-
Donation flow (intent, authorization/capture, receipts), refunds/chargebacks
-
Matching gifts and caps, leaderboards and real-time counters
-
Scheduled start/end behavior and gating
-
Non-functional requirements
-
Throughput targets, availability/SLOs, latency, cost considerations
-
System components and architecture
-
API gateway, payment processor integration
-
Idempotency and retries, fraud detection, rate limiting
-
Data model, analytics/events, real-time counters
-
Cross-cutting concerns
-
Handling traffic spikes, multi-region readiness
-
Storage choices; consistency vs durability trade-offs
-
Observability and auditing
-
Rollout plan
-
Load testing strategy, canary/feature-flag rollout, game-day readiness
Keep the design pragmatic for a three-day event while ensuring financial correctness and user trust.