forex-web-app
forex-web-app copied to clipboard
:currency_exchange: foreign currency exchange app built with react hooks
:currency_exchange: forex web app · frontend development assignment 
this project was a take-home exercise for a job interview (in 2019)
:flight_departure: Quick Start
# Make a copy of this repo
$ git clone https://github.com/leonardodino/forex-web-app
$ cd forex-web-app
# Install project dependencies
$ yarn
# Start development server
$ yarn start # Opens browser at http://localhost:3000
# Start development test watcher
$ yarn test --coverage
# Production build
$ yarn build # Outputs to ./build directory
$ npx serve build # Static server for the built website
:sparkles: Features

![]()
- [x] :alembic: react hooks + context
- [x] :art: 8pt grid + simple design
- [x] :musical_keyboard: keyboard accessible
- [x] :shower: no media queries
- [x] :100: interactive (rates updates don't mess with user input)
- [x] :electric_plug: service worker + offline state
- [x] :robot: decently tested
- [x] :hammer_and_wrench:
typescript
:nut_and_bolt: Dependencies / Services / Assets
| name | license | description |
|---|---|---|
react |
declarative, component-based, library for building ui | |
react-router |
declarative routing for react | |
create-react-app |
create react apps with no build configuration | |
styled-components |
css-in-js: visual primitives for the component age |
|
dinero.js |
immutable utils to create, calculate and format money | |
use-interval |
react hook for setting an interval | |
react-testing-library |
utilities that encourage good testing practices | |
jest |
delightful javascript testing | |
gitmoji |
emoji reference for commit messages | |
typescript |
superset of javascript, with types | |
| Inter | typeface designed for computer screens | |
| Crypto Compare API | free forex api, updates every 10 seconds | |
| iPhone Mockup | free vector apple iphone 8 mockup ai & eps |
> special thanks to GitHub, Netlify, NPM, Travis CI, and CodeCov for supporting open-source projects with free tiers!
© 2019 Leonardo Dino