Warning
Ten projekt został porzucony, nie jest oficjalnie hostowany i nie będzie rozwijany.
Jego następcą został CaaTS.
Twórz zapytania do planu zajęć PJATK w ciągu milisekund. Dobra alternatywa dla oryginalnej strony z 2010.
Status projektu: maintenance
Nowy projekt: Puppy
Obecny projekt będzie wciąż utrzymywany do lutego 2023, jednakże nie będzie aktywnie rozwijany
-
Nowoczesna i szybka aplikacja webowa
-
ICS Feed (zamiast pojedyńczych plików ICS)
-
JSON API wraz z dokumentacją OpenAPI
-
Bardzo szybki czas odpowedzi w porównaniu do orginalnego planu zajęć
Moja implementacja vs. implementacja uczelni
Główną różnicę z tym co dostarcza stara stronka, jest możliwość subskrybowania kalendarza. Wtedy każda zmiana jest automatycznie aktualizowana w aplikacji kalendarza bez potrzeby ponownego wgrania planu zajęć.
Również same dane dostarczane przez usługę się różnią:
Po prawej znajdują się wydarzenia dostarczone przez
altapi
, a po lewej te dostarczone przez stronę PJATKa
API potrafi odpowiadać na zapytania w stylu "jakie są zajęcia w planie dla grup x, y, z od dnia do dnia" lub "jakie są zajęcia dla wykładowcy x danego dnia"
Wszystkie endpointy związane z planem zajęć są udokumentowane tutaj. Jeżeli chcesz potestować sobie ręcznie to polecam pobrać sobie z dokumentacji OpenAPI schema
i testować zapytania sobie w programie typu Insomnia.
Po prostu jest szybciej.
Mój timing (infrastruktura infotmatyczna warta 300-400 pln + cloudflare), timing uczelnianego serwera (infrastruktura informatyczna warta spokojnie z mln pln)
Ciekawostka: W środowisku developerskim udało mi się osiągnąć requesty na poziomie 2.3ms, co daje 391x szybsze zapytania niż oryginalna usługa
Wymagania:
- Docker engine
- Docker compose
Przed pierwszym uruchomieniem
cp docker-compose.yml docker-compose.prod.yml
vim docker-compose.prod.yml # przy pomocy edytora tekstu dopisz zmienne środowiskowe: SENDGRID_API_KEY, możesz oczywiście dodać również takie usługi jak mongo-express albo cloudflared
Kolejne uruchomienia
docker-compose -f docker-compose.prod.yml up -d
- Wszystkie zmiany będą akceptowane o ile zostaną wcześniej sformatowane przy pomocy prettier i eslint nie ma zastrzeń
- Akceptowane są wszystkie technologie o ile jest możliwość ich implementacji poprzez WASI lub inaczej "natywnie" w Node.js >= 16.x
- Oczywiście, również jest wymagane dodanie typowania dla TS
- Zmiany wprowadzone przez spoełeczność nie muszą (ale mogą) być wspierane przez autorów
- Wymagane jest używanie yarn
- Można dodawać koeljne dependecies do package.json i do docker-compose.yml
bash/zsh
VITE_API_BASE="https://altapi.kpostek.dev/" yarn dev
posh
$env:VITE_API_BASE = "https://altapi.kpostek.dev/"; yarn dev