Exchange currencies to USD, EUR, GBP with polling FX rates.
Clone the repo and install dependencies with Yarn.
> yarn install
Spin up the local development server
> yarn dev
Build for production
> yarn build
Run production build
> yarn start
Run testing suite
> yarn test
Run testing suite with watcher
> yarn test:watch
Run linting
> yarn lint
The master branch of this repository will be deployed using now.sh.
Check the repo description for a link to the app on production.
In addition, pull request feature branches will also be available on a staging environment.
-
Expand the
pages/api/rates.js
lamba function to poll and cache an OpenFX API every hour to be able to serve the app without running into expensive rate limits. -
Break down the
<ExchangeWidget />
component into more manageable and testable components. -
Leverage the useReducer to create more functional state mutation. Bring in action dispatchers and reducers.
-
Write more extensive unit tests on all components and bring in a thin e2e testing suite using Cypress.
-
Refactor in
TypeScript
to give better type support (interfaces, enums) all throughout the application.