A full-stack financial application featuring real-time forex rates and machine learning-powered price predictions across multiple currency pairs. Built with automated data pipelines and Prophet time series forecasting.
URL:Application
- π Real-Time Exchange Rates β Live currency data with automatic updates
- π€ ML Price Predictions β Prophet-based forecasting with confidence intervals
- π± Multi-Currency Support β Track and predict 4 major currency pairs
- βοΈ Automated Data Pipeline β Self-updating ingestion, cleaning, and feature engineering
- π¨ Modern UI/UX β Responsive design with dark/light theme support
- π Historical Analysis β View trends and patterns across different timeframes
- Python 3.12+ (latest recommended)
- Bun (latest version)
- uv for Python packages
git clone https://github.com/yourusername/forex-app.git
cd forex-appcd backend
pip install -r requirements.txtcd frontend
bun installNote
you need to split the terminals.
- Run the backend
cd backend
uvicorn backend:app --reload- Run the frontend
cd frontend
bun run devVisit http://localhost:5173 to see the application.(will be on frontend side.)
- React + TypeScript interface with Material-UI components
- Real-time data updates via REST API calls
- Responsive charts and theme management
- FastAPI endpoints for live rates, predictions, and historical data
- Prophet ML model integration for forecasting
- External API integration for real-time forex data
- Ingestion β Automated fetching from forex data sources
- Cleaning β Data validation and preprocessing with PySpark
- Feature Engineering β Technical indicators and transformations
- Model Training β Jupyter-based experimentation and Prophet retraining
| Technology | Purpose |
|---|---|
| React | 18UI framework with hooks |
| TypeScript | Type-safe development |
| Vite | Fast build tool and dev server |
| Material-UI | (MUI)Component library and theming |
| Recharts/Chart.js | Data visualization |
| Technology | Purpose |
|---|---|
| Python 3.9+ | Core backend language |
| FastAPI | High-performance async API framework |
| Prophet | Time series forecasting model |
| Pydantic | Data validation and settings |
| httpx/requests | External API integration |
| Technology | Purpose |
|---|---|
| Jupyter Notebook | Model experimentation and analysis |
| PySpark | Large-scale data processing |
| Pandas | Data manipulation and analysis |
| NumPy | Numerical computations |
| Statsmodels | Statistical testing and validation |
| Scikit-learn | Model evaluation metrics |
- πΊπΈπͺπΊ EUR/USD β Euro to US Dollar
- π¬π§πΊπΈ GBP/USD β British Pound to US Dollar
- πΊπΈπ―π΅ USD/JPY β US Dollar to Japanese Yen
- πΊπΈπ¨π USD/CHF β US Dollar to Swiss Franc
- Ingestion β Fetch latest forex data from external API every hour
- Validation β Check for missing values, outliers, and data quality issues
- Cleaning β Handle gaps, remove duplicates, normalize timestamps
- Feature Engineering β Calculate technical indicators (moving averages, volatility, etc.)
- Model Retraining β Update Prophet models with new data (daily)
- Deployment β Replace production models with improved versions
- Fork the repository
- Create a feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m 'Add amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Prophet library by Meta for time series forecasting
- Forex data provided by forexsoftware.
- Material-UI for the component library
Yussufkadir Syurmen β Linkedin β syurmen2@gmail.com Project Link: Forex App.
Note
This is a demonstration project. Predictions are for educational purposes only and should not be used for actual trading decisions.
