Skip to content

Fantasy League Predictor for English Premier League. AI / ML / Java Springboot backend project.

License

Notifications You must be signed in to change notification settings

ZaidQourah2004/Soccer-Predictor

Repository files navigation

Here is a README for your GitHub project:


Soccer-Predictor

Soccer-Predictor is a comprehensive project designed to scrape match statistics for over 700 players, manipulate and present the data dynamically, and predict match outcomes using machine learning. The project is divided into three main components: Backend, Data Scraping, and Machine Learning.

Features

Data Scraping

  • Engineered a comprehensive data scraping of match statistics for 700+ players using Python and pandas.

Backend

  • Dynamic manipulation and presentation of the scraped data through a Spring Boot application.

Database

  • Real-time data manipulation within a PostgreSQL database using SQL queries.

Machine Learning

  • Created a model to predict match outcomes by integrating data scraping with pandas and machine learning with scikit-learn.

Components

Data Scraping

  • Technology: Python, pandas
  • Description: This component scrapes match statistics for over 700 players and stores the data in a CSV file for further processing.

Backend

  • Technology: Spring Boot, Java
  • Description: This component dynamically manipulates and presents the scraped data. It uses SQL queries to manage real-time data manipulation within a PostgreSQL database.

Machine Learning

  • Technology: Python, scikit-learn, pandas
  • Description: This component creates a machine learning model to predict match outcomes based on the scraped data.

Getting Started

Prerequisites

  • Java 11 or later
  • Python 3.8 or later
  • PostgreSQL
  • Maven
  • Git

Installation

  1. Clone the repository:

    git clone https://github.com/ZaidQourah2004/Soccer-Predictor.git
    cd Soccer-Predictor
  2. Set up the Python environment:

    python3 -m venv env
    source env/bin/activate
    pip install -r requirements.txt
  3. Set up the PostgreSQL database:

    CREATE DATABASE pl_data;
  4. Update the database configuration in src/main/resources/application.properties.

  5. Run the data scraping script:

    python MatchPredicting/PL_Predictor.py
  6. Build and run the Spring Boot application:

    ./mvnw spring-boot:run

Usage

  • Access the backend API to retrieve and manipulate player match statistics.
  • Use the machine learning model to predict match outcomes based on the scraped data.

License

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

Acknowledgements

  • Special thanks to the developers of pandas, scikit-learn, and Spring Boot for providing the tools to make this project possible.
  • I would also like to credit this tutorial which was a huge inspiration for my project: https://www.youtube.com/watch?v=y3odhQtu4R8

About

Fantasy League Predictor for English Premier League. AI / ML / Java Springboot backend project.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published