Skip to content

A (possibly) working generator of a school timetable. Very limited, but it's free and open source :)

License

Notifications You must be signed in to change notification settings

Wafelowski/TimetablePlanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TimetablePlanner


Proces generowania planu

  1. Iteracja po wszystkich klasach
  2. Iteracja po każdej godzinie lekcyjnej
  3. Dobór przedmiotu i nauczyciela
  4. Sprawdzenie czy przydzielony nauczyciel jest wolny
  5. Wpisanie przedmiotu do planu
  6. Powrót do punktu 2

Schemat generowania planu lekcji


Wymagania

  • Python 3.10+
Pakiety
about-time==3.1.1
alive-progress==2.4.1
grapheme==0.6.0
mysql-connector-python==8.0.31
protobuf==3.20.1
tabulate==0.9.0

To-Do

Wersja 1.0

1. Baza danych

  • Tabele:
    • Nauczyciele
    • Przedmioty
    • Klasy
    • Sale
    • Plan lekcji
  • Wprowadzenie zabezpieczeń przed idiotyczną zmianą danych / Walidacja danych
  • MS Access -> SQL -> phpMyAdmin
  • Dostęp z serwera
  • Wprowadzenie samych danych

2. Generator

  • Generowanie planu na gotowych danych
  • Przydzielanie sali do klasy na bazie:
    • wolnych sal
    • liczby osób
    • sali "klasowej" aka sala przydzielona do danej klasy
  • Przydzielenie nauczyciela do klasy na bazie etatu
  • Przedmioty wychowawcy
    • 0 = Dowolny nauczyciel przedmiotu
    • 1 = Wychowawca
  • Połączenie z bazą danych
  • Zapis danych tymczasowo jako XML/JSON
  • Komunikacja przez PyScript

3. Strona

  • Prototyp wyglądu strony na bazie placeholderowych tabelek
  • Panel wprowadzania danych do bazy (?)
  • Umożliwienie przeglądu danych z bazy
  • Połączenie z bazą danych
  • Wyświetlenie danych na czysto lub odczytanie z XML/JSON (?)
  • Wyświetlenie danych w tabeli
  • Panel wyboru
    • Klasy
    • Nauczyciela
    • Sali
Wersje 1.1 - 1.9
  • Nauczyciele z więcej niż jednym przedmiotem
  • Automatyczne przydzielenie wychowawcy (opcjonalna funkcja)
  • Lekcje grupowe
  • Walidacja danych w sposób bardzo rozległy
Wersja 2.0
  • Rework wszystkiego bo dlaczego nie
  • Wsparcie roczników IV - VIII
  • Wsparcie klas ukierunkowanych
  • Etaty
Wersja 3.0
  • Wsparcie dla szkół średnich
  • Wersja w bardziej zoptymalizowanym języku (JS?)
  • Generator zastępstw

About

A (possibly) working generator of a school timetable. Very limited, but it's free and open source :)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages