Alfred Tamakloe - Mid/Senior FS developer - tech test - deadline 6th June
This project was bootstrapped with Create React App in client. Also Node.js with Express.js in server.
- Click here Link for the demo video.
- Clone this repo
- Setup your
.env
file in the server folder with the.env.example
file and varaibles provided in them
X_COIN_API_KEY='your-coin-api=key'
- This is crital for the functioning of the application
DELAY_IN_MINUTES='minutes-elapsed-for-rates-to-refresh'
- This is the number of minutes for Coin Api Rates to refresh our rates. Note: we are limited to 100 calls per day.
In the project directory, you can run the normal way:
$ cd client && yarn install & yarn start
$ cd server && yarn install & yarn dev
In the project directory, you can run it with docker:
$ docker-compose up -d --build
This will build your docker images an runs the app containers in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
$ docker-compose down
This will stop the running containers in docker and disconnenct the application network in docker.
Live event are controlled with Socket.io.
Initially updating the rates from CoinApi without the ratesRefresher function that has a timeout to delay the concurrency throws: 'You exceeded Concurrency limit (number of maximum allowed concurrent requests per APIKey) for your subscription. Information about the current limit values can be found in the response headers included in this response, named X-ConcurrencyLimit-*. More information about this constraint can be found in the product documentation. Please reduce concurrency/threads or talk to the support about the upgrade'