Skip to content

ali-faraz-py/Python-CurrencyConverter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’± Professional Currency Converter

Currency Converter Demo

A modern, desktop-based Currency Converter built with Python, PyQt5, and Matplotlib. This app provides real-time exchange rates via the ExchangeRate-API and visualizes currency trends with dynamic charts.

✨ Features

  • Real-Time Data: Fetches the latest exchange rates for over 160+ currencies using REST API.
  • Interactive Charting: Displays a 7-day trend line using Matplotlib to visualize currency volatility.
  • Smart History: Automatically logs your recent conversions for quick reference.
  • Earthy UI Design: A custom-styled interface using CSS (QSS) for a modern look and feel.
  • Currency Swap: A one-click button to invert your "From" and "To" selections.

πŸš€ Installation

  1. Clone the repository:
    git clone [https://github.com/ali-faraz-py/Python-CurrencyConverter.git](https://github.com/ali-faraz-py/Python-CurrencyConverter.git)
    cd CurrencyConverter
    
    

Install dependencies:

pip install -r requirements.txt

πŸ“‚ Project Structure

CurrencyConverter/
β”œβ”€β”€ CurrencyConverter.py     
β”œβ”€β”€ CurrencyConverter.css   
β”œβ”€β”€ requirements.txt      
└── README.md    

πŸ› οΈ Built With

PyQt5 - For the desktop window and widgets.

Requests - To handle API calls to the exchange rate server.

Matplotlib - To render the 7-day trend graphs.

ExchangeRate-API - The source for real-time global currency data.

🧠 Behind the Logic: The Random Walk

Because historical data often requires a paid API subscription, I implemented a Random Walk Algorithm to simulate market movement:

The Seed: The logic starts with the real-time rate fetched from the API.

The Simulation: It calculates 7 days of data by applying a random variance (up to Β±2%) to each previous day's rate.

The Anchor: To ensure accuracy, the final data point is always locked to the actual current rate.

πŸ‘€ Author

Syed Ali Faraz - https://github.com/ali-faraz-py

If this project helped you understand PyQt5 or Matplotlib, please give it a ⭐!

About

πŸ’± CurrencyPro: A modern PyQt5 desktop app for real-time exchange rates. Fetches data from ExchangeRate-API and visualizes 7-day volatility trends using Matplotlib. Features an Earthy UI theme and conversion history logging. πŸ“ˆ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors