Design a Donations Website
Donations Website Features:
- Users donate to charity
- Donation confirmations
- Donations paid to charity
Design a website to collect donations in real time. The website will host a donation form which accepts the user’s name, email address, payment information, and charity.
There will be 10 charities to choose from (this can be hardcoded and won’t change).
After submitting, the back-end will take the user’s money and send them a donation confirmation.
The website will only accept donations for 24 hours. We expect an average of 5K RPS for this site with peaks of 10K RPS.
This is a high-throughput, time-limited donation website design problem. The system must present a donation form, accept user and payment details, process the donation, and send a confirmation after submission. Since the charity list is fixed, it can be hardcoded, while the main challenges are handling 5K average RPS with 10K peaks, keeping the payment flow reliable and idempotent, and supporting a 24-hour donation window.