Skip to content

mericozcann/Student-Club-Scoring-Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Student Clubs Performance Comparison and Reporting System

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.

Features

  • 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.

Setup and Usage

You can easily run this project in Google Colab or your local Python environment.

1. Install Necessary Libraries

Run the following command in your terminal or Colab notebook:

pip install pandas plotly

2. Running the Code

Save the complete Python code into a file (e.g., report_generator.py) and run it from your terminal:

python report_generator.py

Note: If you are using Colab, simply pasting and running the code in a cell is sufficient. The report will automatically appear in the output.

Data Entry Guide

All configuration and data input are managed in the 1. USER INPUT AND CONFIGURATION section at the start of the code.

A. Criteria and Weights

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, # ... }

B. Entering Club Scores

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, # ... } }

Report Visuals

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.

Output

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors