Skip to content

ObsCure9277/CurrencyNode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’± CurrencyNode

A lightweight, system tray-based currency converter for Windows. Built with Tauri, Rust, and Vanilla JavaScript, it offers real-time exchange rates, cross-rate calculations, and a distraction-free user interface that lives quietly in your system tray. This small app is suitable for the digital nomad and freelancer which live in their motherland but get paid with different currencies such as USD or EUR.

image image Screenshot (6) Screenshot (5)

πŸ“‹ Table of Contents


πŸ”‘ Key Features

βœ… System Tray Integration

  • Lives quietly in your Windows system tray.
  • Instant access with a single click or keyboard shortcut.

βœ… Real-Time Exchange Rates

  • Fetches the latest rates from the Frankfurter API.
  • Automatic background updates (every 5 minutes) to ensure accuracy.

βœ… Cross-Rate Calculation

  • Automatically calculates exchange rates between any two supported currencies.
  • No need to convert to USD first; the app handles the math.

βœ… Smart Precision Control

  • Customize decimal precision (2, 3, or 4 decimal places) for accurate calculations.
  • Auto-adjusts for currencies like JPY or KRW that typically don't use decimals.

βœ… Dark & Light Modes

  • Built-in theme switcher to match your system or personal preference.
  • Persists user preference across sessions.

βœ… Always on Top

  • The converter window stays on top of other applications for quick reference during workflows.

πŸ“± Supported Currencies

Supports major global currencies including:

Region Currencies
Americas USD, CAD, BRL, MXN
Europe EUR, GBP, CHF, SEK, NOK, DKK, PLN, CZK, HUF, RON, ISK, TRY
Asia/Pacific AUD, CNY, HKD, IDR, INR, JPY, KRW, MYR, NZD, PHP, SGD, THB
Africa/Middle East ZAR, ILS

πŸ’» Tech Stack

Core:
Frontend:

πŸš€ Getting Started

Prerequisites

Ensure you have the following installed:

  • Node.js (v16 or later)
  • Rust (Latest stable version via rustup)
  • C++ Build Tools for Windows (via Visual Studio Installer)

Installation

  1. Clone the repository:

    git clone https://github.com/ObsCure9277/MiniCurrencyConverter.git
    cd MiniCurrencyConverter
  2. Install frontend dependencies:

    npm install
  3. Run in development mode:

    npm run tauri dev

    This will start the app with hot-reload enabled.

Building for Production

To create an optimized executable:

npm run tauri build

The output binary will be located in src-tauri/target/release/.


πŸ“‚ Project Structure

MiniCurrencyConverter/
β”œβ”€β”€ src-tauri/           # Rust backend & Tauri configuration
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ main.rs      # Application entry point
β”‚   β”‚   └── lib.rs       # Core commands & tray logic
β”‚   β”œβ”€β”€ Cargo.toml       # Rust dependencies
β”‚   └── tauri.conf.json  # Tauri app configuration
β”œβ”€β”€ src/                 # Frontend assets
β”‚   β”œβ”€β”€ index.html       # Main UI Layout
β”‚   β”œβ”€β”€ main.js          # App logic, conversion, & events
β”‚   β”œβ”€β”€ styles.css       # Styling & themes
β”‚   └── assets/          # Icons and images
β”œβ”€β”€ package.json         # Node scripts & dependencies
└── README.md            # This file

πŸ’‘ Usage Examples

converting Currencies

  1. Click the tray icon to open the converter.
  2. Enter an amount (e.g., 100).
  3. Select your From currency (e.g., USD).
  4. Select your To currency (e.g., EUR).
  5. The result updates instantly as you type or change options.

Changing Precision

  1. Locate the decimal dropdown in the top-right corner.
  2. Select .00, .000, or .0000.
  3. All future conversions will use this precision preference.

Toggling Theme

  1. Click the sun/moon icon in the top-right corner.
  2. The app will switch between Light and Dark modes.
  3. Your preference is saved automatically.

🎨 Customization Options

Application Logic (main.js)

  • Default Currency: Modify the init() function to change the startup currencies.
  • Refresh Interval: Adjust the refreshTimer (default: 5 minutes) in init().

Styling (styles.css)

  • Colors: Edit the :root variables to change the color scheme.
  • Fonts: The app uses system fonts by default for performance and native feel.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❀️ by ObsCure9277

About

A lightweight, system tray-based currency converter for Windows.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors