This repository contains a simple Currency Exchange application built using Python, tkinter, and live exchange rate data. The app lets you enter two countries (or currency codes) and an amount, then it displays the converted amount, exchange rate, and country flags.
The Currency Exchange App provides a GUI where you can:
- Enter a country name (example, United Kingdom, Czechia, United States)
- Enter an amount to convert
- Convert to another country currency
- View the converted result and exchange rate
- Display flags for the selected countries
-
Currency Conversion
- Live exchange rates
- Shows original amount and converted amount
- Shows the exchange rate
-
Country Input
- Enter country names, the app maps country to currency code automatically
- You can also type currency codes directly (example, GBP, USD, CZK)
-
Flags
- Displays country flags using Rest Countries API data
- ExchangeRate-API, for exchange rate data
- Rest Countries API, for country data, currency mapping, and flags
- Python 3.x
tkinter(usually comes pre-installed with Python)
Python packages (installed via requirements.txt):
requestspython-dotenvPillow
- Clone the repository
git clone https://github.com/Myszanik/Currency-Exchange-App.git
- Navigate to the Project Directory
cd Currency-Exchange-App
- Create a virtual environment (recommended)
python -m venv .venv - Activate the virtual environment
python -m venv .venv.\.venv\Scripts\Activate.ps1
- Install Dependencies
python -m pip install -r requirements.txt
- Add your ExchangeRate-API key
- Create a file named
.envin the project root (same folder asCurrencyExchangeApp.py)
EXCHANGE_RATE_API_KEY=YOUR_API_KEY_HERE - Create a file named
- Run the Application
python CurrencyExchangeApp.py
- The
.envfile is intentionally not included in the repository, each user must create their own to run the app. - Do not commit your API key to GitHub.
- The logo image is loaded from
assets/exchange_app_logo.jpeg.
tkinter, for the GUI- ExchangeRate-API, for exchange rate data
- Rest Countries API, for country and flag data
requests, for HTTP requestspython-dotenv, for loading environment variables from.envPillow, for images
This project is for learning and practice. Improvements and clean-ups are welcome.

