Version: 1.0.0
Author: Jeffrey R. Dotson
Email: jeffreyrdotson@vt.edu
GitHub Repository: https://github.com/Jeffrey214/VUT-PP2-CurrencyConverter
The Currency Exchange Rate Calculator is a Python application developed for the Winter 2024 semester, providing real-time and historical currency conversion using data from the Frankfurter API. It includes a user-friendly GUI built with Tkinter, graphical displays of historical exchange rates, and persistent conversion history.
-
Real-Time Currency Conversion:
Instantly converts currency using live data. -
Historical Exchange Rates:
Retrieves historical data, displaying minimum, maximum, and average rates. -
Interactive Graphs:
Visualizes historical exchange rates with Matplotlib graphs. -
Persistent Conversion History:
Saves conversion details, with options to export history to a file or reset it. -
User-Friendly GUI:
Interactive interface with dropdown currency selectors, integrated calendar for date selection, and clear visual indicators. -
Visual Enhancements:
Displays national flags corresponding to selected currencies for enhanced usability.
- Python 3.6 or newer
- Pip
pip install requests Pillow matplotlib tkcalendarAlternatively, install directly from the provided setup.py:
pip install .Ensure the project directory structure matches:
your_project/
├── icons/
│ ├── convert.png
│ ├── price_history.png
│ ├── conversion_history.png
│ ├── currency-conversion.ico
│ ├── currency-conversion.png
│ ├── save_icon.png
│ ├── reset.png
│ ├── flip.png
│ └── calendar.png
├── flag_folder_png/
│ ├── us.png
│ ├── eu.png
│ └── ... (other flag images)
├── main.py
├── README.md
└── setup.py
Run from the command line:
currency_converteror
python currency_converter.py- Select currencies and enter the amount.
- Click the convert button.
- View results immediately and saved in history.
- Click on the history icon to access past conversions.
- Options provided for saving or resetting the history.
- Click the price history icon.
- Select date range and currencies.
- Click Show Price History for results and graphical view.
- API Integration: Frankfurter API for accurate exchange rate data.
- GUI Components: Tkinter-based interface enhanced by Pillow for image handling.
- Multithreading: Efficient data fetching with progress indicators.
- Data Management: Persistent storage of conversion history.
Contributions are encouraged! Fork the repository and submit pull requests for improvements or fixes.
This project is licensed under the MIT License.
- Frankfurter API: Reliable source of currency data.
- Tkinter, Pillow, Matplotlib, tkcalendar: Robust libraries for GUI and visualization.
- Prosymbols Premium: Icon design (Currency icons by Prosymbols Premium - Flaticon).