Polska wersja / English version
Nowoczesna i odświeżona aplikacja planu lekcji dla Zespołu Szkół Technicznych i Ogólnokształcących (ZSTiO), stworzona z wykorzystaniem najnowszych technologii webowych. Ta intuicyjna aplikacja ułatwia dostęp do planów zajęć i zastępstw, oferując bezproblemową obsługę dla uczniów, nauczycieli i pracowników.
- Uniwersalna Kompatybilność 🌍: Przystosowana do każdej szkoły korzystającej z planów UONET. Wystarczy skonfigurować zmienną środowiskową
NEXT_PUBLIC_TIMETABLE_URL
. - Łatwa Integracja Zastępstw 🔄: Przeglądaj zastępstwa bezpośrednio w planie lekcji, z możliwością ręcznych modyfikacji (wymaga
NEXT_PUBLIC_SUBSTITUTIONS_URL
). - Ulubione ⭐: Zapisz najczęściej przeglądane klasy, nauczycieli i sale, aby mieć do nich szybki dostęp.
- Wygodne Wyszukiwanie Wolnych Sal 🔎: Szybko sprawdź dostępne sale według dnia i numeru lekcji.
- Inteligentne Skrócone Lekcje ⏱️: Automatyczna adaptacja planu do skróconych godzin lekcyjnych.
- Eksport do Kalendarza (ICS) 📅: Pobierz swój plan lekcji w formacie ICS, aby łatwo zsynchronizować go z ulubioną aplikacją kalendarza.
- Responsywny Interfejs na Wszystkich Urządzeniach 📱💻: Przeglądaj plan lekcji z dowolnego urządzenia dzięki spójnemu i intuicyjnemu interfejsowi.
- Elegancki Tryb Ciemny 🌙: Przełączaj się między jasnym i ciemnym motywem dla komfortu użytkowania.
- Dostęp Offline dzięki PWA 🔌: Zainstaluj aplikację jako PWA (Progressive Web App) dla szybszego ładowania i pracy offline.
- Zaawansowane Śledzenie Błędów (Sentry)
⚠️ : Integracja z Sentry umożliwia monitorowanie błędów i stabilność działania. - Łatwe Wdrażanie z Dockerem 🐳: Dzięki dołączonemu plikowi Dockerfile wdrażanie jest szybkie i gwarantuje spójność środowiska.
- Next.js: Framework Reacta do aplikacji produkcyjnych.
- TypeScript: Zapewnia typowanie i lepsze doświadczenia dla programistów.
- Tailwind CSS: Szybkie tworzenie nowoczesnych interfejsów użytkownika.
- shadcn/ui: Piękne i dostępne komponenty interfejsu.
- @majusss/timetable-parser-js: Wydajne przetwarzanie danych i parsing.
- @majusss/substitutions-parser: Łatwe zarządzanie danymi zastępstw.
- Zustand: Lekki i wydajny system zarządzania stanem.
- Next Themes: Proste przełączanie motywów.
- Sentry: Śledzenie błędów i monitorowanie wydajności w czasie rzeczywistym.
- Docker: Konteneryzacja ułatwiająca wdrożenie.
-
Sklonuj repozytorium:
git clone https://github.com/rvyk/zstio-timetable.git cd zstio-timetable
-
Zainstaluj zależności:
pnpm install
-
Skonfiguruj zmienne środowiskowe:
Utwórz plik
.env.local
na podstawie.env.example
i ustaw:NEXT_PUBLIC_TIMETABLE_URL
(wymagane): URL do planu lekcji Twojej szkoły (UONET).NEXT_PUBLIC_APP_URL
(wymagane): Podstawowy URL aplikacji.NEXT_PUBLIC_SUBSTITUTIONS_URL
(opcjonalne): URL strony z zastępstwami. Pozostaw puste, jeśli nie jest używane.SENTRY_AUTH_TOKEN
(opcjonalne): Token autoryzacji Sentry.
-
Serwer Deweloperski:
pnpm dev
Otwórz aplikację w przeglądarce pod adresem
http://localhost:3000
. -
Budowa Produkcyjna (Zalecany Docker):
docker build -t zstio-timetable-docker . docker run -p 3000:3000 zstio-timetable-docker
-
Budowa Produkcyjna (Alternatywa):
pnpm build pnpm start
Wszelkie wkłady są mile widziane! Otwórz zgłoszenie lub prześlij pull request.
Licencja MIT. Zobacz plik LICENSE po szczegóły.