Skip to content

Alat za upravljanje spiskovima studenata FTN-a, raspoređivanje u grupe i generisanje rasporeda testova.

License

Notifications You must be signed in to change notification settings

ristic-ac/speesak

Repository files navigation

speesak

📌 Opis programa

speesak je alat namenjen za upravljanje spiskovima studenata na Fakultetu tehničkih nauka.
Omogućava jednostavno rukovanje podacima o studentima, raspoređivanje u grupe i generisanje rasporeda testova.

🔍 Pregled funkcionalnosti

  • ✅ Konverzija spiskova studenata iz .xls u .xlsx format (uz pomoć skripte convert.sh)
  • ✅ Provera konzistentnosti spiskova studenata
  • ✅ Raspoređivanje studenata u postojeće grupe radi izrade rasporeda testova
  • ✅ Kreiranje novih grupa za studente koji nisu raspoređeni
  • ✅ Generisanje rasporeda testova sa mogućnošću izbora datuma, vremena i učionica

🛠️ Neophodni alati

  • Python 3
    • pandas
    • openpyxl
  • LibreOffice
  • Docker i Docker Compose

📖 Uputstvo za korišćenje

1️⃣ Priprema ankete

Kreirajte anketu za studente koja sadrži sledeća polja:

  • Ime
  • Prezime
  • Smer (dropdown lista sa smerovima: RA, PSI, IN, ... propisanim od strane fakulteta)
  • Broj upisa (npr. 1, 101, 240)
  • Godina upisa (npr. 2019, 2020, 2021...)

2️⃣ Priprema direktorijuma i spiskova

  1. Kreirajte direktorijum xls/ i u njega smestite originalne spiskove studenata dobijene od studentske službe.
  2. Preimenujte fajlove prema formatu:
    • XX.xls → spiskovi po grupama
    • XXK.xls → kompletni spiskovi studenata (sa kartice "Polaganje ispita" u nastavničkom servisu)

      XX je oznaka smera: RA, PSI, IN...


3️⃣ Konverzija fajlova

Konvertovani fajlovi će se nalaziti u direktorijumu xlsx/.
U njemu treba da budu i fajlovi sa prijavljenim studentima, u zavisnosti od režima rada:

  • Za režim PROVERA=domaci:

    • PRIJAVE-SOV.xlsx – prijave za SOV (učionički)
    • PRIJAVE-DOMACI.xlsx – prijave za domaći
  • Za režim PROVERA=t1234:

    • PRIJAVE-T1234.xlsx – prijave za T1234 termin

Svi fajlovi sa prijavama treba da imaju sledeće kolone:

  • Ime
  • Prezime
  • Smer
  • Broj upisa
  • Godina upisa

4️⃣ Podešavanje dodatnih termina

U direktorijumu additional-classrooms/ nalazi se fajl classrooms.csv sa učionicama i terminima:
Kolone:

  • Ucionica
  • Termin

Primer fajla je već dat u projektu.

Softver automatski prepoznaje kapacitet:

  • Mašinski institut → učionice sa 32 mesta
  • NTP → učionice sa 16 mesta

5️⃣ Pokretanje preko Dockera

Neophodno je imati instalirane Docker i Docker Compose.
Iz root direktorijuma projekta pokrenite:

docker compose up --build

Ovo će izgraditi i pokrenuti kontejner sa svim potrebnim zavisnostima.
Program main.py će se automatski pokrenuti unutar kontejnera.


6️⃣ Podešavanje režima rada

Program koristi promenljivu okruženja PROVERA koja određuje način raspoređivanja:

  • PROVERA=domaci – koristi dva fajla prijava (SOV i DOMAĆI), automatski izbacuje studente koji su prijavljeni za domaći iz rasporeda za učionice.
  • PROVERA=t1234 – koristi jedan fajl prijava (T1234).

Primer pokretanja:

export PROVERA=domaci
docker compose up --build

7️⃣ Rezultati obrade

Nakon izvršavanja, rezultati se nalaze u direktorijumu schedules/:

  • regular_groups.xlsx – raspored studenata po postojećim grupama
  • additional_groups.xlsx – raspored studenata po novim grupama

⚠️ Rešavanje mogućih grešaka

Greška:

Warning: failed to read path from javaldx:

Rešenje:

Instalirajte sledeće pakete:

sudo apt-get install libreoffice-java-common default-jre

(važi za Debian-based distribucije)

About

Alat za upravljanje spiskovima studenata FTN-a, raspoređivanje u grupe i generisanje rasporeda testova.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •