This Python project is designed to evaluate and score student clubs' performance based on predefined criteria and present the results in a rich, interactive, single-page HTML report visualized using the Plotly library.
The project overcomes technical obstacles encountered in environments like Colab (Streamlit warnings, FPDF encoding issues), ensuring a focus on visual quality and guaranteeing error-free output.
- Rich Visualization: Interactive charts created with Plotly (Bar Chart, Heatmap, and Radar Chart).
- Fully Manual Input: Club data and scores are easily manageable and editable directly within the Python dictionaries at the beginning of the code.
- Detailed Analysis: Calculation of criteria averages and overall weighted scores.
- Error-Free Output: The report is generated in HTML format, which is browser-viewable, interactive, and downloadable without any technical warnings.
You can easily run this project in Google Colab or your local Python environment.
Run the following command in your terminal or Colab notebook:
pip install pandas plotlySave the complete Python code into a file (e.g., report_generator.py) and run it from your terminal:
python report_generator.pyNote: If you are using Colab, simply pasting and running the code in a cell is sufficient. The report will automatically appear in the output.
All configuration and data input are managed in the 1. USER INPUT AND CONFIGURATION section at the start of the code.
You can define the criteria names and their respective weights (WEIGHTS) in the total score here.
(The total must equal 100!)
KRITER_VE_SORULAR = { "YNT": "Management and Organization Quality", # ... } WEIGHTS = { "YNT": 20, "ETK": 20, # ... }
Scores for each club must be entered using the criteria codes.
Each value represents the average score between 1 and 5 for that specific criterion.
KULUPLER_VE_PUANLARI = { "Robotics Club": { "YNT": 4.33, # Management (average score between 1-5) "ETK": 4.67, # ... }, "History Club": { "YNT": 3.33, "ETK": 2.67, # ... } }
The report consists of the following visual components, all of which are interactive:
- General Score Table: Displays detailed criteria averages, total score, and category.
- Bar Chart (Comparison): Ranks the clubs by Total Score. Colors change according to the category (Eligible / Needs Improvement / Restructuring).
- Heatmap (Matrix): Compares all clubs' performance across all criteria (1-5) using color intensity. Red indicates lower performance, and green indicates higher performance.
- Radar Chart: Shows the distribution of all clubs' performance across criteria in a single graph, allowing for an immediate comparison of strengths and weaknesses.
After running the code, click the button that appears below the Colab output to download the Kulup_Kiyaslama_Raporu.html file.
This file contains all the interactive graphics and analysis results.