- Introduction
- Key Features
- Technologies Used
- Project Structure
- Installation & Setup
- Usage & Screenshots
A full-stack web application providing currency exchange rates, historical data visualization, and currency calculator. Built with Django REST Framework and React.
- Currency Exchange Rates: Interactive dashboard displaying current rates with trend indicators
- Historical Data Visualization: Interactive charts showing rate trends over multiple time periods
- Currency Calculator: Instant currency conversion with swap functionality
- Responsive Design: Fully responsive interface adapting to all screen sizes
- Django & Django REST Framework
- PostgreSQL Database
- React.js
- Recharts for data visualization
- Custom CSS for styling
|-- backend/
| |-- exchange/
| | |-- models.py # Database models
| | |-- serializers.py # API serializers
| | |-- views.py # API endpoints
| | |-- urls.py # API routing
|-- frontend/
|-- src/
| |-- components/
| | |-- CurrencyDashboard.js
| | |-- CurrencyCalculator.js
| | |-- HistoricalRates.js
| |-- App.js
|-- manage.py
After fetching the files in repository or cloning the repository(git clone (https://github.com/alper-sayin/Currency-Exchange-Dashboard.git)
) to desired folder, setting up virtual environment and satisfying the requirements(requirements.txt, package.json), open the terminal in your IDE, you should apply:
Run all commands in project root directory
-
psql -U postgres
-
CREATE DATABASE test_currency_exchange;
for database creation in your postgresql server -
Then
python manage.py makemigrations
-
python manage.py migrate
for database migrations. -
python manage.py load_historical_dates
for seeding the database with currency exchange rates. After all that our backend is ready for launch -
python manage.py runserver
- Open another terminal in frontend directory
npm start
for running the server.- Server automatically will be launched on http://localhost:3000 interacting with Django server(http://localhost:8000).
***Both servers should run simultaneously
For launching project without any dependencies above, Docker Desktop can be used.
In the project root directory, open the terminal;
docker compose up
;for creating images and containersdocker compose exec web python manage.py makemigrations exchange
docker compose exec web python manage.py migrate
for database migrations.docker compose exec web python manage.py load_historical_dates
for seeding the database with currency exchange rates.
Then; server can be accessed via http://localhost:3000
Current currency exchange rates & trends according to previous rates
Navigating to historical rates via clicking the particular currency exchange rate 10-year rates chart 5-year rates chart 1-year rates chart 1-week rates chart Currency exchange calculator Swapping currencies