Currency Converter

Currency Converter

Difficulty :intermediate

A currency converter is used to convert an amount in one currency to its corresponding value in another currency using their current exchange rate. This project teaches you how to work with external APIs, handle asynchronous operations, and create practical financial tools.

Current exchange rates are usually provided by banks and other financial service providers through APIs that developers can integrate into their applications.

User Stories:

  • User can enter up to 9 digits to represent the amount to convert in a source input field
  • User can view a sorted list of available currencies and select the currency to convert from in a source drop-down list
  • User can view a sorted list of available currencies and select the currency to convert to in a destination drop-down list
  • User views the value (rounded to two decimal places) of the source amount converted to the destination currency in a single output field as soon as either the input value, the source currency, or the destination currency is changed
  • User must be alerted if the input is not a number

Bonus Features:

  • User should be able to swap the values of the source and destination drop-down lists on the click of a button
  • User can see historical exchange rate charts
  • User can set up rate alerts for specific currency pairs
  • User can see conversion fees from different providers
  • User can save favorite currency pairs
  • User can work offline with cached rates
  • User can see currency trends and analysis

What you'll learn:

  • Working with external APIs
  • Making HTTP requests with fetch API
  • Handling asynchronous JavaScript (Promises/async-await)
  • Error handling for network requests
  • Input validation and formatting
  • Real-time data updates
  • Currency formatting and localization
  • Caching strategies for better performance
Example of implementations to inspire from :
Share the word :