Skip to content

Repository files navigation

πŸ“ˆ AI Powered Forex Application

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.

Screen Recording 2025-10-19 at 08 58 07

🌐 Live Demo

URL:Application

✨ Key Features

  • πŸ“Š 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

πŸš€ Quick Start

Prerequisites

  • Python 3.12+ (latest recommended)
  • Bun (latest version)
  • uv for Python packages

Installation

1. Clone the repository

git clone https://github.com/yourusername/forex-app.git
cd forex-app

2. Set up the backend

cd backend
pip install -r requirements.txt

3. Set up the frontend

cd frontend
bun install

4. Run the Application

Note

you need to split the terminals.

  1. Run the backend
cd backend
uvicorn backend:app --reload
  1. Run the frontend
cd frontend
bun run dev

Visit http://localhost:5173 to see the application.(will be on frontend side.)

πŸ—οΈ Architecture

Forex_app_architecture_design drawio

Component Overview

Frontend Layer

  • React + TypeScript interface with Material-UI components
  • Real-time data updates via REST API calls
  • Responsive charts and theme management

Backend Layer

  • FastAPI endpoints for live rates, predictions, and historical data
  • Prophet ML model integration for forecasting
  • External API integration for real-time forex data

Data Pipeline

  • 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

πŸ› οΈ Tech Stack

Frontend

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

Backend

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

Data&Ml Pipeline

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

πŸ“Š Supported Currency Pairs

Currently supporting predictions for 4 major forex pairs:

  • πŸ‡ΊπŸ‡ΈπŸ‡ͺπŸ‡Ί 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

πŸ”„ Data Pipeline Workflow

The automated pipeline runs on a scheduled basis to keep predictions fresh:

  1. Ingestion β€” Fetch latest forex data from external API every hour
  2. Validation β€” Check for missing values, outliers, and data quality issues
  3. Cleaning β€” Handle gaps, remove duplicates, normalize timestamps
  4. Feature Engineering β€” Calculate technical indicators (moving averages, volatility, etc.)
  5. Model Retraining β€” Update Prophet models with new data (daily)
  6. Deployment β€” Replace production models with improved versions

🀝 Contributing

Contributions are welcome! Please follow these steps:

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

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Prophet library by Meta for time series forecasting
  • Forex data provided by forexsoftware.
  • Material-UI for the component library

πŸ“§ Contact

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.

About

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.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages