A modern, responsive currency converter web application built with React and Node.js/Express.
- 💱 Real-time currency conversion
- 🌍 Support for 160+ currencies
- 🎨 Beautiful, modern UI with gradient design
- 📱 Fully responsive design
- ⚡ Fast and efficient API calls
- 🔄 Swap currencies with one click
- 📊 Live exchange rates
- Node.js (v14 or higher)
- npm or yarn
cd server
npm installcd ../client
npm installOpen a terminal and run:
cd server
npm startThe server will start on http://localhost:5000
For development with auto-reload:
npm run devOpen another terminal and run:
cd client
npm startThe client will start on http://localhost:3000 and automatically open in your browser.
GET /api/convert?from=USD&to=EUR&amount=100- Convert currencyGET /api/currencies- Get all available currenciesGET /api/health- Health check endpoint
currency_app/
├── client/ # React frontend
│ ├── src/
│ │ ├── pages/
│ │ │ ├── MainPage.js # Main converter component
│ │ │ └── MainPage.css # Component styles
│ │ ├── App.js
│ │ └── index.js
│ └── package.json
└── server/ # Express backend
├── src/
│ └── index.js # Server and API routes
└── package.json
- Frontend: React 19, Axios, CSS3
- Backend: Node.js, Express, Axios
- API: ExchangeRate-API (free, no API key required)
- Enter the amount you want to convert
- Select the source currency (From)
- Select the target currency (To)
- The conversion happens automatically
- Click the swap button (⇄) to swap currencies
- The application uses a free currency API that doesn't require an API key
- Exchange rates are updated in real-time
- The server must be running for the client to work properly
If you encounter issues:
- Make sure both server and client are running
- Check that the server is running on port 5000
- Verify all dependencies are installed
- Check the browser console for any errors