Skip to content
SinrathPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

HowMuch

A phone-first currency converter. Enter an amount, pick a base currency, and see it converted into the other supported currencies at live rates — styled like a ledger receipt, with light and dark mode.

Supported currencies: CHF · EUR · USD · GBP · ZAR · BWP

Stack

  • Frontend — React 19 + Vite + Tailwind CSS 4 (src/)
  • Backend — Express proxy in front of the exchange-rates API, with a 30-minute in-memory rate cache (backend/)

The backend exists so the API key never reaches the browser.

Development

# Backend (reads .env from the repo root when started there)
node backend/server.js

# Frontend
npm install
npm run dev

Environment variables (.env)

Variable Used by Purpose
EXCHANGE_RATES_API_KEY backend Access key for the exchange-rates API
EXCHANGE_RATES_API_URL backend Base URL of the exchange-rates API
VITE_BACKEND_URL frontend Backend origin; empty string for same-origin
PORT backend Backend port (default 3001)

Docker

docker compose up --build

Serves the built frontend via nginx on port 3000 and the backend on port 3001.

API

  • GET /health — health check
  • GET /api/convert?from=CHF&to=EUR&amount=100 — converts amount between two supported currencies; responds with { success, from, to, amount, result, rate, timestamp }

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages