Complete this simple project to proceed with the hiring process.
We will review your implementation and provide feedback based on the quality of your solution.
Good luck!
-
Create a NextJS basic project following this tutorial: NextJS - getting started.
-
Create a git repository with the code and upload it to Github, Gitlab, or Bitbucket.
-
In the repository, create a new branch.
-
In the new branch, implement a simple exchange rate calculator, with the following characteristics:
- An input field for the user to enter the amount to be converted.
- Two dropdown menus for the user to select the currencies (from and to). You can obtain the list of available currencies from the API https://exchangeratesapi.io/.
- A button to trigger the conversion.
- An area to display the converted amount and exchange rate.
IMPORTANT: Obtain the list of available currencies as well as the exchange rates using the following API: https://exchangeratesapi.io/. The API provides 250 free requests per month; you just need to obtain an API key.
-
Write at least one unit test. More unit tests, as well as snapshot tests, will give you bonus points.
-
Create a Pull Request (or Merge Request) of the new branch with a detailed description of the changes made.
-
Deploy the project to Vercel: See Introduction to Vercel | Vercel Docs.
-
After completing the test and deploying the application, send us an email with the following links:
- The link to the PR in your repository.
- The link to the deployed version on Vercel.
[x] Bonus points: Implement a caching mechanism for the fetched exchange rates. For this, assume that the list of available currencies doesn’t change very often and that the exchange rate between two currencies has a validity of ten minutes.
[x] Bonus points: Use TypeScript.
Bonus points: Use styled-components