Skip to content

innazh/currency-exchange-dashboard

Repository files navigation

Historical Currency Exchange Dashboard

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

Expanding the ESLint configuration

If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.

To run:

You can open two terminal windows and run npm run dev in one to start the front end, and npm run api in the other to start the back end.

Pre-run:

npm install
python3 -m venv api/venv
source api/venv/bin/activate
pip3 install -r api/requirements.txt

Start front-end:

npm run dev

Start back-end:

npm run api

Features completed:

General Features

  • ✔️ Utilize the Frankfurter API to fetch historical currency exchange rate data.
  • ✔️ Render the fetched data in a chart using Chart.js.
  • ✔️ Render the fetched data in a table using ag-Grid with filtering. Persist grid settings on refresh.
  • ✔️ The ability to show one or multiple currencies in the charts.

Optional Features – Not Required

  • ✔️ Implement functionality to save API call data to a database for future use. So, an API call is not required to use the Frankfurter API each time.
    • Uses SQLite DB
  • Setup a function - this doesn’t have to be functional but in theory would run on the first of each month and add the new exchange rate data for the previous month.
  • Any additional features or improvements you believe would enhance the dashboard functionality or user experience.