Netflix Content Analytics Dashboard — Python Final Year Project with Source Code and ML Genre Classifier
Back to ProjectTotal time here is about ten minutes. Maybe fifteen if pip is having a slow day.
python --version. If it says 3.9 or lower, or says Python isn't recognised at all, go to python.org and grab the latest 3.x installer. On Windows, tick the "Add Python to PATH" checkbox on the very first screen. People miss it constantly and then wonder why nothing works.pip --version.No MySQL. No MongoDB. No API keys to register for. Nothing to configure in a .env file. That's the whole prerequisite list.
Extract the ZIP you downloaded, or clone the repo if you were given a Git link. Then open a terminal inside that folder — the one containing app.py and requirements.txt. In VS Code you can just do File, Open Folder, then Terminal, New Terminal and it lands you in the right place automatically.
Quick sanity check: type dir on Windows or ls on Linux and macOS. You should see app.py, requirements.txt, netflix_titles.csv, and folders named templates, notebooks, processed and models. If you don't see those, you're in the wrong directory.
This keeps the project's packages separate from everything else on your system. Skipping it works too, until it doesn't and you break another project.
Windows:
python -m venv venv
venv\Scripts\activate
Linux or macOS:
python3 -m venv venv
source venv/bin/activate
You'll know it worked when (venv) shows up at the start of your terminal prompt. If it's not there, the activation didn't take and the next step will install packages globally.
pip install -r requirements.txt
This pulls in Flask, pandas, scikit-learn and joblib. Give it a minute or two — scikit-learn and its numpy dependency are chunky downloads. Some warning text scrolling past is normal. Red text saying "ERROR" is not.
python app.py
Terminal should print something about running on http://127.0.0.1:5000. Leave that terminal window open. Closing it kills the server.
Go to http://127.0.0.1:5000 in your browser. You should see five metric cards along the top and eight charts below them. Then check http://127.0.0.1:5000/api/summary — that returns raw JSON with the same numbers, which is worth taking a screenshot of for your report's API testing section.
Only do this if you're changing the cleaning logic or retraining the classifier. Otherwise skip it entirely.
pip install jupyter nbconvert matplotlib nbformat
jupyter notebook notebooks/netflix_analysis.ipynb
Or run it headless without opening the browser interface:
jupyter nbconvert --to notebook --execute --inplace notebooks/netflix_analysis.ipynb
Running it regenerates processed/cleaned.csv and the three files in models/. Takes two to three minutes on average hardware.
Classic Windows problem. Python installed but PATH didn't get updated. Easiest fix is to re-run the Python installer, choose Modify, and make sure the PATH option is ticked. Restart your terminal afterwards — an already-open terminal won't pick up the new PATH.
Something else grabbed the port. On macOS it's often AirPlay Receiver, which you can turn off in System Settings. Or just change the port: open app.py, find the app.run() line at the bottom, and make it app.run(debug=True, port=5001). Then visit 127.0.0.1:5001 instead.
Usually means the CSV path resolved wrong because you started the app from a different directory. Make sure you're running python app.py from inside the project folder, not from one level up. Open your browser's developer console with F12 and check the Network tab — if the summary request came back with empty arrays, that's your confirmation.
Your virtualenv probably isn't activated. Look at your prompt for the (venv) prefix. Activate it again and re-run the install.
models/All six checks pass? You're done. Take your screenshots for the report now while it's running — you'll want the dashboard, the JSON response, and the terminal output.
Our team is here to assist you with installation and setup.