1
showcase
Shipped: Currency converter with live rates
I built a Currency converter that fetches live exchange rates from the Frankfurter API. The app demonstrates three distinct fetch states:
Loading (spinner + message while waiting)
Error (clear alert when the request fails, with retry option)
Empty (coverage gap when a currency pair isn’t supported, shown as “No rate available” instead of an error).
How can a reviewer see that the acceptance criteria are met?
All three states are visually and textually distinct and can be reached without code changes:
Loading → open task2.html?demo=loading or enable Simulate a slow connection in Demo controls.
Error → open task2.html?demo=error or enable Force the request to fail.
Empty → open task2.html?demo=empty or select BTC or ETH as the “To” currency.
The error message explains what failed and what to try next, including a retry button.
Unsupported currency pairs are presented as a data gap, not an application error.
Repository: https://github.com/hassannnn13/currency-converter.git
Built for the Verified Frontend Internship · state and data
Add a comment
0/2000