🎓 Moderna desktop aplikacija za vizualizaciju rezultata ispita studenata
Jednostavno učitajte CSV, filtrirajte podatke i generirajte prekrasne grafove — sve u par klikova!
|
|
|
|
| Graf | Opis |
|---|---|
| 📊 Broj studenata po ocjeni | Stupčasti graf koji prikazuje distribuciju ocjena |
| 🥧 Udio ocjena | Tortni dijagram s postotnim udjelima svake ocjene |
| 📈 Histogram bodova | Distribucija bodova s označenim pragom prolaza i prosjekom |
| 📉 Prosjek bodova po terminu | Linijski graf koji pokazuje trend kroz termine |
| ✅ Prolaznost po terminu | Stupčasti graf prolaznosti s bojama prema uspješnosti |
| 📦 Box plot po terminu | Statistička distribucija bodova za svaki termin |
- Python 3.11 ili noviji
- pip (Python package manager)
1️⃣ Klonirajte repozitorij
git clone https://github.com/Krapic/csv-visualizer.git
cd csv-visualizer
2️⃣ Kreirajte virtualno okruženje
python -m venv .venv
3️⃣ Aktivirajte virtualno okruženje
# Windows:
.venv\Scripts\activate
# Linux/Mac:
source .venv/bin/activate
# 4️⃣ Instalirajte ovisnosti
pip install -r requirements.txtpython run.py🎉 To je to! Aplikacija će se otvoriti s automatski generiranim podacima.
csv_visualizer/
├── 📂 config/
│ ├── 🎨 themes.py # Light/Dark teme
│ └── ⚙️ settings.py # Postavke aplikacije
├── 📂 data/
│ ├── 🏭 generator.py # Generator sintetičkih podataka
│ ├── 📥 loader.py # Učitavanje CSV datoteka
│ └── 📋 models.py # Podatkovni modeli
├── 📂 gui/
│ ├── 🖥️ app.py # Glavna aplikacija
│ └── 🧩 widgets.py # Custom widgeti (gumbi, paneli...)
├── 📂 visualization/
│ └── 📊 graphs.py # Generiranje grafova
└── 📂 utils/
└── 🔧 __init__.py # Pomoćne funkcije
Aplikacija očekuje CSV datoteku sa sljedećim stupcima:
| Stupac | Tip | Opis |
|---|---|---|
student_id |
int | Jedinstveni identifikator studenta |
ime |
string | Ime studenta |
prezime |
string | Prezime studenta |
termin |
string | Ispitni termin (npr. "Zimski", "Ljetni") |
bodovi |
int | Broj ostvarenih bodova (0-100) |
ocjena |
int | Ocjena (1-5) |
student_id,ime,prezime,termin,bodovi,ocjena
1,Marko,Horvat,Zimski,85,4
2,Ana,Kovač,Zimski,92,5
3,Ivan,Babić,Ljetni,45,1
4,Petra,Novak,Ljetni,67,3Kliknite 🔄 Generiraj nove podatke za automatsko kreiranje sintetičkih podataka za testiranje.
Kliknite 📂 Učitaj CSV datoteku i odaberite vašu CSV datoteku s podacima ispita.
Iz padajućeg izbornika odaberite željeni tip vizualizacije.
- Prebacite na 📋 Tablica prikaz
- Koristite filtere za termin i ocjenu
- Pretražujte studente po imenu
- 💾 Spremi graf kao sliku — PNG, PDF, SVG ili JPEG
- 📤 Izvezi podatke — CSV ili Excel format
Aplikacija podržava dvije teme koje možete mijenjati u bilo kojem trenutku:
|
Svijetla tema idealna za dnevni rad s visokim kontrastom i čitljivošću. |
Tamna tema koja smanjuje naprezanje očiju i štedi bateriju na OLED ekranima. |
|
Python 3.11+ Programski jezik |
Pandas Obrada podataka |
Matplotlib Vizualizacija |
NumPy Numeričke operacije |
pandas>=2.0.0 # Manipulacija podacima
numpy>=1.24.0 # Numeričke operacije
matplotlib>=3.7.0 # Generiranje grafova
pillow>=9.0.0 # Obrada slikaDoprinosi su dobrodošli! 🎉
- 🍴 Forkajte repozitorij
- 🌿 Kreirajte feature branch (
git checkout -b feature/AmazingFeature) - 💾 Commitajte promjene (
git commit -m 'Add some AmazingFeature') - 📤 Pushajte branch (
git push origin feature/AmazingFeature) - 🔃 Otvorite Pull Request
Ovaj projekt je izrađen u sklopu kolegija Programiranje skriptni jezici na Tehničkom fakultetu u Rijeci.
Frane Krapić
⭐ Ako vam se sviđa projekt, ostavite zvjezdicu! ⭐