Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸͺ™ VekslΓ‘k

Bitcoin exchange calculator for ethical exchangers

Fast, simple, and accurate BTC/fiat calculator with real-time rates and multi-currency support.

🌐 Live Site: https://vekslak.dvadsatjeden.org

License React Vite


✨ Features

  • πŸ’± Real-time rates - Live BTC prices from Binance API
  • 🌍 Multi-currency - EUR, USD, CZK, PLN, HUF, PYG support
  • πŸ”„ Buy/Sell modes - Calculate both directions with custom fees
  • ⚑ BTC/SATS toggle - Switch between Bitcoin and Satoshi units
  • πŸ”’ Custom number format - International (1,000.50) or European (1 000,50)
  • 🌐 Multi-language - English, Slovak, Czech, Polish, Hungarian, German, Spanish
  • πŸ“Έ Screenshot sharing - Export calculations as images
  • πŸ’Ύ LocalStorage - Remembers your preferences

πŸš€ Quick Start

Visit https://vekslak.dvadsatjeden.org

Prerequisites

Node.js 18+ 
npm or yarn

Installation

# Clone repository
git clone https://github.com/yourusername/vekslak.git
cd vekslak

# Install dependencies
npm install

# Start development server
npm run dev

Open http://localhost:5173


πŸ“± Usage

Basic Calculation

  1. Select mode: BUY or SELL
  2. Enter amount: EUR/USD/CZK/PLN/HUF/PYG or BTC
  3. Set fee: Your commission percentage
  4. View result: Instant calculation with BTC amount

Settings

  • Currency: Choose base currency (EUR, USD, CZK, PLN, HUF, PYG)
  • Language: Select UI language
  • Number Format: International or European number formatting

Copy & Share

  • Click copy icon to copy BTC amount to clipboard
  • Click screenshot to capture and share calculation

πŸ› οΈ Tech Stack

  • React 18.3 - UI framework
  • Vite 5.4 - Build tool
  • Tailwind CSS 3.4 - Styling
  • Lucide React - Icons
  • html2canvas - Screenshot functionality

APIs

  • Binance API - Real-time BTC/USD prices
  • ExchangeRate API - Currency conversion rates

🎨 Features in Detail

Real-time Exchange Rates

// Fetches live BTC price in multiple currencies
- BTC/USD from Binance
- Auto-converts to EUR, USD, CZK, PLN, HUF, PYG
- Updates on demand

Smart Number Formatting

International: 95,842 € (comma thousands, dot decimal)
European:      95 842 € (space thousands, comma decimal)

BUY Mode

Client pays:    500 EUR
Fee:           2%
─────────────────────
Rate with fee: 97,758.84 €
Send to client: 0.00671611 BTC
Your fee:      9.80 €

SELL Mode

Client sells:   0.01 BTC
Fee:           2%
─────────────────────
Rate with fee: 93,825.16 €
Client receives: 938.25 €
Your fee:      19.13 €

🌐 Supported Languages

  • πŸ‡¬πŸ‡§ English
  • πŸ‡ΈπŸ‡° Slovenčina
  • πŸ‡¨πŸ‡Ώ ČeΕ‘tina
  • πŸ‡΅πŸ‡± Polski
  • πŸ‡­πŸ‡Ί Magyar
  • πŸ‡©πŸ‡ͺ Deutsch
  • πŸ‡ͺπŸ‡Έ EspaΓ±ol

πŸ’Ύ LocalStorage Keys

btc-currency        // "EUR" | "USD" | "CZK" | "PLN" | "HUF" | "PYG"
btc-language        // "en" | "sk" | "cs" | "pl" | "hu" | "de" | "es"
btc-number-format   // "international" | "european"

πŸ”’ Privacy

  • No data collection - Everything runs client-side
  • No tracking - No analytics or cookies
  • No backend - Pure frontend application
  • LocalStorage only - Settings saved locally

πŸ“¦ Build & Deploy

Build

npm run build
# Output: dist/

Deploy

Vercel:

vercel

Netlify:

netlify deploy --prod

GitHub Pages:

npm run build
# Upload dist/ folder

🀝 Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing)
  5. Open Pull Request

πŸ“ License

MIT License


πŸ‘€ Author

SiriusBig


πŸ™ Acknowledgments


⭐ Support

If you find this project useful, please consider:

  • ⭐ Starring the repository
  • πŸ› Reporting bugs
  • πŸ’‘ Suggesting new features
  • πŸ”€ Contributing code
  • ⚑ Donating to sirius@dvadsatjeden.org

πŸ“„ Changelog

v1.0.6 (Current)

  • Added Dark Mode theme toggle
  • Added Spanish and German translations
  • Added USD and PYG currency options
  • SettingsModal redesign β€” language is now a select dropdown
  • Improved BTC price timestamp formatting (European 24h format)
  • Created reusable UI components: CalculationPreview, CopyToast, CurrentPriceCard...
  • Refactored BTC buying/selling logic into a standalone calculateTrade() function
  • Added complete test suite for BUY / SELL modes (BTC input + FIAT input)

v1.0.5

  • Made the app installable - Added manifest.json

v1.0.4

  • SELL FIAT/BTC Toggle: Users can now input either BTC amount or desired fiat amount in SELL mode
  • Two SELL calculation modes:
  • Dynamic <html lang=""> attribute based on selected language
  • Social media meta tags (Open Graph, Twitter Card)
  • Auto-clear amount field when switching between modes

v1.0.3

  • 🌐 Added ES language
  • ✨ updated readme

v1.0.2

  • ✨ Added custom number format selection
  • ✨ Added BTC/SATS toggle
  • ✨ Added screenshot functionality
  • 🌐 Added 5 language support
  • πŸ’° Added 4 currency support
  • 🎨 Improved UI/UX
  • πŸ’Ύ Added LocalStorage persistence

v1.0.1

  • Added multi-currency support
  • Added language selection
  • Improved mobile responsiveness

v1.0.0

  • Initial release
  • Basic BTC calculator
  • EUR support only

Made with ❀️ for ethical exchangers and β‚Ώ

Report Bug Β· Request Feature

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages