English עברית Українська Polski Русский

ERP Scheduling System

puzzleerp
Architektura i funkcjonalność  |  Listopad 2026

1. O systemie ERP Scheduling System

ERP Scheduling System został zbudowany dla centrów edukacyjnych STEM, które oferują pogłębioną naukę określonych przedmiotów (fizyki i/lub chemii) uczniom z wielu szkół. Centra takie jak ten stoją przed specyficznym wyzwaniem harmonogramowania — dni i godziny zajęć muszą być skoordynowane ze wszystkimi szkołami partnerskimi, których uczniowie tworzą daną grupę. Aplikacja ułatwia różnym rolom personelu — administratorom, nauczycielom, asystentom laboratoryjnym — zarządzanie dziesiątkami procesów operacyjnych: od koordynacji ze szkołami partnerskimi po przydzielanie laboratoriów i sal na podstawie sprzętu zamówionego przez nauczycieli. Daje kierownictwu centrum możliwość zarządzania obciążeniem nauczycieli (łączny czas pracy, godziny nauczania, liczebność grup) i podejmowania różnych decyzji operacyjnych. System zbiera również, przetwarza i analizuje wszystkie dane statystyczne dotyczące działalności centrum.

W takich centrach harmonogram nigdy nie jest statyczny. Zmienia się codziennie — przełożenia zajęć, zastępstwa, odwołania. Podstawowym zadaniem Scheduling System jest uczynienie zarządzania harmonogramem i zasobami centrum przejrzystym, intuicyjnym i łatwym w obsłudze.
Kluczowe możliwości
Kluczowe możliwości
Gwarancje techniczne
Niezmienne dane
Atomowe transakcje
Granularne uprawnienia dostępu
Token dostępu z auto-wylogowaniem
Ochrona przed konfliktami na poziomie bazy danych
Zero Trust Cloudflare Tunnel

2. Kto korzysta z systemu

System ma osiem ról. Jednemu pracownikowi można przypisać więcej niż jedną rolę jednocześnie.

Rola Kim jest Co robi
Super Admin Lider techniczny Pełny dostęp. Zarządza danymi referencyjnymi, personelem i ustawieniami globalnymi.
Admin Dowolny pracownik z uprawnieniami administratora — także jako rola dodatkowa Przegląda przychodzące wnioski o zmianę harmonogramu, wyjaśnia szczegóły i je zatwierdza. Jedyna rola, która faktycznie wprowadza zmiany w danych — zatwierdza lub odrzuca.
Nauczyciel Prowadzący zajęcia Inicjuje zmiany w harmonogramie: przełożenia, odwołania, zastępstwa, zamówienia sprzętu. Wszystko odbywa się przez wniosek do administratora — nauczyciele nigdy nie edytują danych bezpośrednio.
Asystent laboratoryjny Pracownik laboratorium Widzi listę nadchodzących lekcji z zamówionym sprzętem. Przygotowuje i dostarcza zestawy. Nigdy nie tworzy ani nie edytuje zamówień — tylko je realizuje.
Dyrektor Dyrektor centrum Pełny dostęp do odczytu harmonogramu i raportów za dowolny okres. Zarządza obciążeniem nauczycieli i przydziela zastępstwa. Może też prowadzić lekcje (jeśli przypisany także jako nauczyciel).
Wicedyrektor Zastępca dyrektora ds. dydaktycznych Dostęp do odczytu harmonogramu i raportów nauczycieli swojego przedmiotu. Zarządza obciążeniem nauczycieli i przydziela zastępstwa. Może też prowadzić lekcje (jeśli przypisany także jako nauczyciel).
Sekretarz Sekretarz / administrator biura Tylko odczyt: pełny harmonogram, wszystkie raporty, dowolny okres. Nie może wprowadzać zmian.
Koordynator centrum Pracownik centrum Obsługuje komunikację ze szkołami w imieniu centrum. Wspiera szkoły partnerskie, koordynuje logistykę.
Uprawnienia dostępu są konfigurowane granularnie — nie tylko według całej roli, ale według pojedynczych akcji na konkretnych ekranach (na przykład "otwórz dzień do edycji" lub "przydziel zastępstwo nauczyciela" można nadać dyrektorowi i wicedyrektorowi oddzielnie od pełnego dostępu administratora). Pozwala to na precyzyjne, niskoryzykowne rozszerzanie uprawnień.

3. Główne procesy

3.1 Szablon roczny i propagacja

Harmonogram ma dwa poziomy. Poziom górny to roczny szablon tygodniowy: standardowe obciążenie każdego nauczyciela i grupy. Poziom dolny to rzeczywisty harmonogram tydzień po tygodniu na cały rok szkolny, wygenerowany na podstawie tego szablonu.

1Administrator edytuje szablon — zmienia nauczyciela, godzinę lub dzień slotu szablonu.
2System propaguje zmianę — w ciągu kilku sekund aktualizuje tylko dotknięte tygodnie i sloty: zmienione są aktualizowane, nowe dodawane, odwołane usuwane. Cały harmonogram nigdy nie jest przebudowywany od zera.
3Istniejąca praca nie jest tracona — wszystko, co już zgromadzono wokół lekcji, których propagacja nie dotknęła — zamówienia sprzętu, komentarze, wnioski nauczycieli — pozostaje bez zmian.
Sala na lekcję nie jest wybierana dowolnie — jest dopasowana do rzeczywistej potrzeby: dygestorium, zlew, możliwość zaciemnienia lub już zamówiony sprzęt.
Lekcja usunięta jednorazowym odwołaniem pozostaje w harmonogramie przekreślona — nauczyciel i uczniowie widzą, że tego dnia lekcji nie będzie. Jeśli jednak lekcję usunęła przebudowa samego szablonu (zmiana slotu, skrócenie roku szkolnego) — przechodzi do osobnego statusu archived: całkowicie znika ze wszystkich harmonogramów i widoków, więc do końca roku nie gromadzą się „lekcje-widma", ale fizycznie pozostaje w tabeli — klucze obce z historii wniosków i audytu nie pozwalają jej usunąć.

3.2 Zmiany w harmonogramie

Harmonogram jest budowany na cały rok szkolny, ale codzienne korekty pojawiają się na bieżąco. System prowadzi je jasną ścieżką:

1Nauczyciel składa wniosek — określa dokładnie, co ma się zmienić: przełożenie lekcji, odwołanie jej, korekta zamówienia sprzętu lub zmiana sali. Dyrektorzy i wicedyrektorzy, gdy również uczą, korzystają z tego samego systemu co zwykli nauczyciele.
2System sprawdza konflikty — w momencie złożenia wniosku pokazuje, czy sala lub nauczyciel są już zajęci w danym terminie. Nauczyciel widzi ostrzeżenie i może skorygować wniosek albo i tak go złożyć z oznaczonym konfliktem — administrator rozwiązuje go wtedy ręcznie.
3Administrator przegląda wniosek — widzi kolejkę przychodzących wniosków, w razie potrzeby koryguje szczegóły z nauczycielem i zatwierdza zmianę.
4Harmonogram się aktualizuje — po każdej zatwierdzonej zmianie harmonogram natychmiast się aktualizuje i wszyscy od razu widzą aktualny stan.
5Lekcja zostaje zakończona — system automatycznie oznacza ją jako zakończoną po upływie czasu zakończenia lekcji.
Pełna historia zmian jest przechowywana automatycznie — administrator zawsze może zobaczyć, jak wyglądał harmonogram przed zmianą i kto jej dokonał.
Salę lekcji można zmienić na trzy sposoby: przypisać bezpośrednio, wyprzeć lekcję z zajętej sali (system sam dobiera wypartej lekcji nową salę, a jeśli żadna nie jest wolna — zostawia lekcję bez sali, nie blokując akcji) albo zamienić sale między dwiema lekcjami. E-mail o zmianie sali nie wychodzi przy każdym ruchu wewnątrz sesji edycji, tylko raz — przy zamknięciu dnia — i tylko do osób, u których sala rzeczywiście się zmieniła.

3.3 Przygotowanie sprzętu

1Nauczyciel dodaje sprzęt do wniosku o lekcję — składając wniosek o nową lub zmienioną lekcję, wybiera potrzebne doświadczenie z katalogu oraz liczbę zestawów: do demonstracji lub do pracy własnej uczniów. Cały wniosek — lekcja i sprzęt — trafia do administratora razem.
2Administrator zatwierdza wniosek — przegląda lekcję i sprzęt razem i podejmuje jedną decyzję. Po zatwierdzeniu zamówienie sprzętu jest automatycznie powiązane z lekcją.
3Asystent laboratoryjny widzi codzienne podsumowanie — jego interfejs pokazuje nadchodzące zamówienia: co przygotować, ile zestawów, dla której klasy i do której sali.
4Asystent laboratoryjny kompletuje i dostarcza sprzęt — składa zestawy dla każdej lekcji na podstawie danych systemu.
5Zamówienie zamyka się automatycznie po lekcji — system oznacza je jako zakończone po zakończeniu lekcji.
Fizyczne śledzenie zapasów i automatyczna rezerwacja komponentów są planowane jako osobny moduł na późniejszym etapie.

3.4 Zastępstwa nauczycieli

Jeśli nauczyciel nie może poprowadzić lekcji, administrator, dyrektor lub wicedyrektor wybiera zastępstwo z listy nauczycieli dostępnych w danym czasie o odpowiednim profilu przedmiotowym. Lekcja natychmiast pokazuje się jako zastępstwo wszędzie — w harmonogramie i na wyświetlaczach korytarzowych.

Lista kandydatów jest generowana automatycznie — system pokazuje tylko tych nauczycieli, którzy jednocześnie: pracują w centrum tego dnia i o tej godzinie (na podstawie grafiku pracy nauczyciela), są uprawnieni do nauczania przedmiotu na tym poziomie klasy i nie są już zajęci inną lekcją.
Jeśli żadne odpowiednie zastępstwo nie jest dostępne — lekcja zostaje oznaczona specjalnym systemowym symbolem zastępczym „oczekuje na odwołanie", a dla administratora automatycznie powstaje wniosek o odwołanie lekcji. Jeśli później znajdzie się rzeczywisty zastępca, wniosek wycofuje się sam, bez udziału administratora.

3.5 Wypełnianie systemu danymi (przepływ danych)

Dane są wprowadzane w ścisłej kolejności — każdy krok zależy od poprzedniego.

Wszystkie identyfikatory tabel są stałe i nigdy się nie zmieniają przy ponownej instalacji ani przywracaniu z kopii zapasowej. Gwarantuje to, że każde odwołanie między tabelami pozostaje prawidłowe na każdym etapie.

4. Z czego zbudowany jest system

System składa się z kilku niezależnych komponentów, z których każdy odpowiada za swoją część:

Komponent Co robi
Baza danych Przechowuje wszystkie dane i egzekwuje każdą regułę: walidację, blokady, historię zmian
Serwer API Przyjmuje żądania, sprawdza, kto ma prawo co zrobić, i przekazuje polecenia do bazy danych
Interfejs webowy Scheduling System, w całości po hebrajsku (RTL)
Wyświetlacze korytarzowe Dedykowane ekrany na korytarzach centrum — bieżący harmonogram dnia dla nauczycieli i uproszczona wersja dla uczniów, bez osobistego logowania (uwierzytelnianie za pomocą statycznego klucza urządzenia)
Powiadomienia Potok zdarzeniowy: każda akcja (wniosek złożony/zatwierdzony/odrzucony, zamówienie sprzętu, zastępstwo nauczyciela, konserwacja serwera) zapisuje zdarzenie do kolejki w tej samej transakcji — nieudany zapis nigdy nie blokuje samej akcji. Proces w tle wyznacza odbiorców na podstawie roli, przedmiotu i uczestników zdarzenia z tabeli reguł, renderuje wiadomość i wysyła ją przez transakcyjnego dostawcę poczty — z automatycznymi ponowieniami i wyłącznikiem po stronie administratora. Komunikatory (Telegram, WhatsApp) pozostają możliwym kierunkiem rozwoju.
Infrastruktura Wdrożona w kontenerach Docker na serwerze AWS, z automatycznymi codziennymi kopiami zapasowymi bazy danych

5. Niezawodność i bezpieczeństwo