Skip to content

Releases: EpicGamer4088/CurrencyConverter-JavaFX

Version 1.0.0 - Major Initial Stable Release

Choose a tag to compare

@EpicGamer4088 EpicGamer4088 released this 15 Jan 15:42
e067667

Currency Converter- JavaFX

A simple currency converter based on JavaFX that retrieves real-time exchange rates using the FreeCurrencyAPI and converts currencies.


Features

  • Real-time exchange rates: Fetch the latest exchange rates via FreeCurrencyAPI.
  • User-friendly GUI: Select currencies from a dropdown list with full names and abbreviations.
  • Cross-platform support:
    • Windows: Stores the API key in LocalAppData.
    • macOS: Stores the API key in ~/Library/Application Support.
    • Linux: Stores the API key in ~/.config.
  • Input validation: Validates numeric inputs and supports both dots and commas as decimal separators.

Requirements

  • Java 17 or higher
  • Maven (for building the project)

Installation

  1. Clone the repository:

    git clone https://github.com/EpicGamer4088/currency-calculator-javafx.git
    cd currency-calculator-javafx
  2. Install dependencies:

    mvn clean install
  3. Run the project:

    mvn javafx:run
  4. Provide an API key:
    If no API key is found, a window will open where you can enter your API key.


How to get an API key from FreeCurrencyAPI

  1. Visit the website https://freecurrencyapi.com/.
  2. Register or log in.
  3. Go to your dashboard and copy the existing Default API Key.

API-KEY_location

  1. Paste the API key into the program's input field when prompted.

enter_api-key


Usage

  1. Start the program.

  2. Select the source and target currency.

    dropdown-lists_for-currency

  3. Enter the amount to be converted.

    input-amount

  4. Click "Convert" to see the converted amount.

    converted-result


Project Structure

src/
├── main/
│   ├── java/com/currencycalc/currencycalculatorjavafx/
│   │   ├── App.java                // Main application class
│   │   ├── Launcher.java           // Launches the JavaFX application
│   │   ├── CurrencyClient.java     // Communicates with the FreeCurrencyAPI
│   │   ├── MainController.java     // Controls GUI logic
│   │   ├── model/
│   │   │   ├── CurrencyData.java   // Data model for API responses
│   │   │   ├── Data.java           // Holds exchange rate data
│   │   ├── utils/
│   │       ├── ApiKeyManager.java  // Manages the API key
│   │       ├── ApiKeyWindow.java   // Window for entering the API key
│   ├── resources/
│       ├── main-view.fxml          // GUI layout

License

This project is licensed under the MIT License.


Contact

For questions or issues, please contact tim.platzer@gmx.at.


Full Changelog: https://github.com/EpicGamer4088/CurrencyConverter-JavaFX/commits/v1.0.0