# Currency Converter Web App ## Author: - **Name**: [Your Name] - **Student ID**: [Your Student ID] ## Project Description: This project is a Currency Converter web app built using Python and Streamlit. It allows users to convert between different currencies using both the latest and historical exchange rates retrieved from the Frankfurter API. ### Key Features: 1. Convert an amount between two currencies using the latest conversion rate. 2. Convert an amount using a historical exchange rate for a selected date. 3. Display the conversion rate, converted amount, and inverse conversion rate. ### Files in the Project: - **app.py**: Main Streamlit Python script used for managing users’ inputs and displaying results. - **api.py**: Python script that contains the code for making API calls to fetch available currencies. - **frankfurter.py**: Python script containing functions for calling relevant Frankfurter endpoints and extracting information (latest and historical rates). - **currency.py**: Python script used for formatting the results displayed in the Streamlit app. - **README.md**: Project documentation with details, functions list, and instructions for running the web app. ### Python Functions: - `get_currencies()`: Fetches the list of available currencies from the Frankfurter API. - `get_latest_rate(from_currency, to_currency)`: Fetches the latest conversion rate from the Frankfurter API. - `get_historical_rate(from_currency, to_currency, date)`: Fetches the historical conversion rate for a specific date from the Frankfurter API. - `format_conversion_result(date, from_currency, to_currency, rate, from_amount, to_amount, inverse_rate)`: Formats the conversion results for display in the Streamlit app. ### How to Run the Web App: Install the required dependencies: ```bash pip install streamlit requests or pip install -r requirements.txt ``` Run the Streamlit app: ```bash streamlit run app.py ```