Fantasy XI Optimizer Machine Learning Final Year Project with Source Code (Flask + Python)
Back to ProjectNo Docker, no cloud account, no database server. It's a Flask app that reads a CSV and two pickle files. If you can run one command in a terminal, you can run this.
pip --version.Unzip what you downloaded. You'll see a folder called FIFA 2026 Player Performance containing app.py, two .pkl files, a CSV, a notebook, and static plus templates directories. Open a terminal inside that folder — in VS Code it's File then Open Folder, then Terminal then New Terminal.
Skippable but don't skip it. It keeps this project's libraries away from everything else on your machine.
python -m venv venv
Then activate it. Windows:
venv\Scripts\activate
Mac or Linux:
source venv/bin/activate
You'll know it worked when (venv) shows up at the start of your terminal line.
pip install flask pandas numpy scikit-learn plotly pulp joblib
Takes two or three minutes on decent wifi. scikit-learn is the big one. Let it finish.
python app.py
Flask will print a few lines and tell you it's serving on http://127.0.0.1:5001. Leave that terminal window open. Closing it kills the server.
Go to http://127.0.0.1:5001. The home page should load with the dark gradient hero and the counters ticking up. Click through to /predictor, pick a player, and confirm you get a number back. Then go to /optimizer, set the budget somewhere around €200M, pick 4-3-3, and hit optimize. If eleven names come back in a table with a bar chart, everything's working.
Your virtual environment isn't active, or you installed the packages before creating it. Look for (venv) in your terminal. If it isn't there, activate it and run the pip install line again.
Something else has taken port 5001. Open app.py, scroll to the bottom, find the line with app.run, and change 5001 to 5050. Restart and go to http://127.0.0.1:5050 instead.
Plotly loads from a CDN, so this is almost always an internet problem. Refresh once. If your college lab blocks CDNs, download plotly.min.js, drop it in static/js, and swap the CDN script tag in templates/base.html for a local reference. Do this before demo day.
If your scikit-learn version is newer than the one used to train the model, you'll see a yellow InconsistentVersionWarning. The app still runs. If you want it gone, run pip install scikit-learn==1.3.2, or just open the training notebook and retrain — it takes a couple of minutes and produces a fresh .pkl matching your version.
Run through all six pages the night before: home, about, analytics, predictor, optimizer, contact. Try three different budget and formation combinations on the optimizer, because a very low budget with a demanding formation can occasionally return no feasible solution and you don't want to discover that live. Screenshot everything while it's working. Screenshots have saved more vivas than working code has.
Our team is here to assist you with installation and setup.