https://github.com/punitgr/exchange-rate-app
Currency exchange app
https://github.com/punitgr/exchange-rate-app
Last synced: 10 months ago
JSON representation
Currency exchange app
- Host: GitHub
- URL: https://github.com/punitgr/exchange-rate-app
- Owner: PunitGr
- Created: 2020-09-25T14:38:50.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-09-25T17:18:51.000Z (over 5 years ago)
- Last Synced: 2025-02-01T17:44:05.762Z (over 1 year ago)
- Language: TypeScript
- Homepage: https://optimistic-blackwell-902e64.netlify.app/
- Size: 4.05 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# exchange-rate-app
[](https://app.netlify.com/sites/optimistic-blackwell-902e64/deploys)
https://optimistic-blackwell-902e64.netlify.app/
This app is build using `react, typescript, webpack/babel, redux, redux-saga, styled-components, chart.js, axios, eslint, prettier, jest, React Testing Library`
**_API used_**: `https://api.exchangeratesapi.io`
### Commands
```
* yarn start // To run it locally
* yarn test To run all tests
* yarn build // To build the app
* yarn lint // For lint fixes
* yarn test:watch // To run latest tests after commit
```
### Local setup
```
yarn
yarn start
```
**_App will be active and running on http://localhost:8080/_**
### GIF

### Code structure
- `components/Exchange` - For the exchange screen
- `components/common` - Contains all the common components
- `components/Icons` - Consist of all the icons (Used SVG components)
- `components/Widget` - Conist of the Widget and HistoryChart component.
Right now, widget hits the api to fetch exhchange rate for a pair of currency every 10 seconds. It can also be a subscription if provided the api.
- `@types` - Consiting of types which is used accross the code like `State, Options, ...etc`
- `store/` - Conist of files related to redux which is the state container of the app.
Used `redux-saga` for handling side effects.
- `utils` - Common utility functions and keeping color config.