8 releases (4 breaking)
0.6.2 | Apr 29, 2023 |
---|---|
0.5.0 | Mar 18, 2023 |
0.4.1 | Mar 9, 2023 |
0.3.1 | Mar 1, 2023 |
0.2.1 | Feb 11, 2023 |
#406 in HTTP server
785KB
9K
SLoC
reŠOL
Svobodná alternativní aplikace pro Školu Online
Prohlédnout dokumentaci »
Oficiální instance
·
Nahlásit chybu
·
Požádat o funkci
O projektu
Tento projekt jsme začali kvůli neustálé nespokojenosti se Školou OnLine. Jejich web je zastaralý, neresponzivní a nepraktický. Mnoho věcí je řešeno neintuitivně, například průměry známek na některých školách. Nová aplikace sice napravila problém se vzhledem, ale stále jí chybí funkce jako tmavý režim či dokonce přinesla některé nové problémy.
Založili jsme proto tento projekt, ve kterém se jako studenti snažíme vylepšit zkušenost dalších studentů. Náš cíl je vytvořit modernější, soukroumou a svobodnou verzi ŠOLu. Používáme aktuální vývojové praktiky a optimalizujeme UX pro mobily. Nikdy ale pravděpodobně nedosáhneme 100% podpory všech funkcí ŠOLu, například již kvůli jejich omezené API pro mobilní aplikace, kterou využíváme. Dále jsou limitující naše testovací možnosti, protože jako třetí strana můžeme testovat pouze věci, které se v ŠOLu objevují nám. reŠOL
je v relativně rané fázi vývoje, momentálně nedokáže uspokojivě nahradit aplikaci Školy OnLine.
Vítáme každou pomoc, ať už s programováním či třeba grafikou.
Upozornění: reŠOL
není jakýmkoli způsobem ovlivněn či spojen se společností BAKALÁŘI software s.r.o.
Jak to funguje?
U frontendu se řídíme pravidly:
- žádné špehování (re-sol.tech ale používá Cloudflare)
- svižné a non-bloated stránky
V JavaScriptu reŠOL
dělá requesty na naší API napsanou v Rustu, která po randomizaci user agentu a reffereru a skrze Tor proxy odesílá requesty na Školu OnLine (každý request používá jinou Tor proxy). Toto děláme kvůli soukromí uživatele, aby informace o jeho prohlížeči a IP zůstaly skryté. Ta pak odesílá zpátky JSON soubor s daty, která parsujeme na stránku.
S tím se pojí pár problémů, jako pomalejší načítání a (hlavně) blokování requestů kvůli rate limitingu (ŠOL API má určitý počet requestů, které může uživatel udělat za určitý čas a jakmile tento limit překročí, tak je začne blokovat).
Funkce
Máme funkční přihlašování na (snad) všechny ŠOL servery. V headeru se na desktopu zobrazuje jméno a role (Jan Novák, student). Základní funkce rozvrhu fungují, jako zobrazování předmětů a učeben. Také lze rozkliknout jednotlivé předměty a zobrazit info o nich. V dashboardu zatím najdete funkční zprávy, hodnocení, domácí úkoly, akce a šablony pro ostatní boxy. Zprávy, známky a domácí úkoly lze rozklikávat pro zobrazení podrobností.
Použití
Provozujeme tyto instance, ale reŠOL
lze také self-hostit:
- re-sol.tech (oficiální clear web stránka)
- resol.i2p, i2p base32 url (i2p eepsite)
- tor (tor stránka)
Nejvíce testování probíhá na Gecku (Firefox) a poté na Blinku (Chrome). Snažíme se také o WebKit (Safari), ale zaměřujeme se primárně na předešlé dva web enginy.
Vývoj
Více informací najdete na naší wiki.
Licence
reŠOL
je svobodný software licencovaný pod GPLv3, což znamená, že máte
- Svobodu spustit program za jakýmkoliv účelem.
- Svobodu studovat, jak program pracuje a přizpůsobit ho svým potřebám.
- Svobodu redistribuovat kopie, abyste pomohli ostatním.
- Svobodu vylepšovat program a zveřejňovat zlepšení, aby z nich mohla mít prospěch celá komunita.
Tento program je distribuován s vírou, že bude užitečný, ale BEZ JAKÉKOLI ZÁRUKY; dokonce bez implicitní záruky PRODEJNÍ ZPŮSOBILOSTI nebo VHODNOSTI PRO KONKRÉTNÍ ÚČEL. Podívejte se na GNU General Public License pro více podrobností.
Poděkování
Ukázky
Dependencies
~23–37MB
~649K SLoC