Aplikacja do zarządzania zajęciami w czasie semestru - planowania dyspozycyjności i nie tylko
- TypeScript 69.7%
- Python 27.6%
- CSS 1.6%
- Shell 0.6%
- Dockerfile 0.3%
- Other 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| backend | ||
| dokumentacja | ||
| frontend | ||
| .gitignore | ||
| compose.yml | ||
| DEPLOYMENT.md | ||
| generate_schedule.py | ||
| gotowy_import_poniedzialki.xlsx | ||
| patch_classes.py | ||
| patch_finances.py | ||
| patch_finances2.py | ||
| patch_finances3.py | ||
| patch_finances4.py | ||
| patch_finances5.py | ||
| patch_finances6.py | ||
| patch_finances7.py | ||
| patch_finances8.py | ||
| README.md | ||
| start-pod.sh | ||
| test_parser.py | ||
| test_parser_new.py | ||
| test_structure.py | ||
| test_structure2.py | ||
System Zarządzania Harmonogramem Akademickim (Moduł Organizera)
Wprowadzenie
Niniejsza dokumentacja opisuje architekturę oraz funkcjonalność Modułu Organizera, stanowiącego centralny węzeł przetwarzania danych w architekturze rozproszonego systemu planowania akademickiego. System został zaprojektowany w celu automatyzacji procesu ekstrakcji, normalizacji oraz dystrybucji planów zajęć.
Architektura Systemu
Moduł opiera się na architekturze klient-serwer, wykorzystując następujący stos technologiczny:
- Backend: Python 3.11, framework FastAPI, ORM SQLAlchemy.
- Frontend: React, Vite, Tailwind CSS, TypeScript.
- Baza Danych: SQLite (przechowywanie znormalizowanych struktur zajęć).
- Środowisko Uruchomieniowe: Podman (architektura oparta na natywnych Podach).
Kluczowe Funkcjonalności
- Ekstrakcja Danych: Zaawansowany parser plików PDF (wykorzystujący bibliotekę
pdfplumber), zdolny do identyfikacji struktur tabelarycznych oraz wydobywania metadanych takich jak: nazwa uczelni, prowadzący, sala, typ zajęć oraz ramy czasowe. - Normalizacja: Transformacja surowych danych tekstowych do postaci ustrukturyzowanych encji relacyjnych.
- Zarządzanie Harmonogramem: Interfejs użytkownika umożliwiający weryfikację, edycję oraz ręczne uzupełnianie brakujących danych.
- Bezpieczna Dystrybucja (Synchronizacja): Zabezpieczony kanał komunikacyjny oparty na architekturze REST API z wykorzystaniem tokenów uwierzytelniających (Bearer Token), służący do przesyłania znormalizowanego harmonogramu do publicznego Modułu Prezentacyjnego (Kalendarza).
Przykłady Interfejsu
Poniżej zaprezentowano galerię zrzutów ekranu ilustrujących interfejs użytkownika Modułu Organizera w poszczególnych fazach działania:
Dokumentacja Wdrożeniowa
Szczegółowe instrukcje dotyczące instalacji, konfiguracji oraz zabezpieczeń znajdują się w dokumencie DEPLOYMENT.md.







