A comprehensive, feature-rich currency converter application with real-time exchange rates, advanced charting, portfolio management, and automated alerts.
- Support for 150+ currencies worldwide
- Multiple API sources for maximum reliability
- Cached data for offline functionality
- Automatic fallback between API providers
- Real-time exchange rate charts
- Multiple chart types: Line, Candlestick, Volume, Comparison
- Configurable time periods (15 minutes to 1 week)
- Auto-refreshing charts with customizable intervals
- Professional styling with trend indicators
- Track multiple currency portfolios
- Transaction history and performance analytics
- Portfolio rebalancing suggestions
- Target allocation management
- Performance metrics (ROI, Sharpe ratio, volatility)
- Price threshold alerts (above/below)
- Percentage change alerts
- Desktop notifications
- Sound alerts
- Email notifications (configurable)
- Watchlist management
- SQLite database for persistent storage
- Export data to CSV/JSON/Excel formats
- Automatic data backup
- Historical data retention
- Import/export functionality
- Multi-threading for responsive UI
- Configurable settings and preferences
- Comprehensive error handling
- Logging and debugging support
- Rate limiting and API management
- Python 3.8 or higher
- pip (Python package installer)
-
Clone or download the project files
-
Install required packages
pip install -r requirements.txt
-
API Keys Setup (Optional but Recommended)
For enhanced functionality, obtain free API keys from:
- Fixer.io - 100 requests/month free
- CurrencyLayer - 1,000 requests/month free
- Alpha Vantage - 500 requests/day free
Set environment variables:
# Windows set FIXER_API_KEY=your_fixer_key_here set CURRENCYLAYER_API_KEY=your_currencylayer_key_here set ALPHA_VANTAGE_API_KEY=your_alpha_vantage_key_here # Linux/Mac export FIXER_API_KEY=your_fixer_key_here export CURRENCYLAYER_API_KEY=your_currencylayer_key_here export ALPHA_VANTAGE_API_KEY=your_alpha_vantage_key_here
Or edit the
config.pyfile directly. -
Run the application
python main.py
Currency Converter/
βββ main.py # Main application entry point
βββ api_manager.py # API integration and rate fetching
βββ chart_generator.py # Chart creation and visualization
βββ data_storage.py # Database operations and data persistence
βββ config.py # Configuration settings
βββ notification_manager.py # Alerts and notifications
βββ portfolio_manager.py # Portfolio and transaction management
βββ requirements.txt # Python dependencies
βββ README.md # This file
- Launch the application
- Select source currency from the "From" dropdown
- Select target currency from the "To" dropdown
- Enter the amount to convert
- Click "Convert" to get real-time exchange rate
- Select currency pair in the chart section
- Choose chart type (Line, Candlestick, Volume, Comparison)
- Select time period (15 minutes to 1 week)
- Click "Update Chart" or enable auto-refresh
- Create a new portfolio from the portfolio menu
- Add transactions (buy/sell/exchange)
- Set target allocations for rebalancing
- Monitor performance with built-in analytics
- Add currency pairs to your watchlist
- Set price thresholds or percentage changes
- Configure notification preferences
- Receive alerts via desktop notifications or sound
- Use the export functionality to save:
- Exchange rate history
- Portfolio data
- Transaction records
- Alert history
Edit config.py to customize:
- API keys and endpoints
- Rate limiting parameters
- Fallback API priorities
- Cache expiration times
- Chart colors and styling
- Update intervals
- Window size and layout
- Font preferences
- Data retention periods
- Backup frequency
- Storage locations
- Cleanup schedules
The application intelligently manages multiple exchange rate APIs:
- ExchangeRate-API: Free, no key required (primary)
- Fixer.io: Reliable, 100 free requests/month
- CurrencyLayer: Comprehensive, 1000 free requests/month
- Alpha Vantage: Historical data, 500 requests/day
- Configurable refresh intervals (default: 30 seconds)
- Automatic chart updates
- Background data fetching
- Smart caching to minimize API usage
- Moving averages and technical indicators
- OHLC candlestick charts with volume
- Interactive zoom and pan
- Export charts as PNG/PDF
- Portfolio ROI calculations
- Risk metrics (volatility, Sharpe ratio)
- Drawdown analysis
- Currency correlation analysis
- Initial release with core functionality
- Real-time currency conversion
- Basic charting capabilities
- Portfolio management
- Alert system
- Data export/import
Note: This application is for educational and personal use. Exchange rates are provided by third-party APIs and may not reflect real-time market conditions. Always verify rates with official financial sources for actual trading decisions.