7 unstable releases (3 breaking)
new 0.5.0 | Mar 18, 2023 |
---|---|
0.4.1 | Mar 9, 2023 |
0.3.1 | Mar 1, 2023 |
0.3.0 | Feb 25, 2023 |
0.2.1 | Feb 11, 2023 |
#109 in HTTP server
88 downloads per month
540KB
7.5K
SLoC
Co je reŠOL?
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.
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.
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í pouze zprávy, hodnocení, domácí úkoly a šablony pro ostatní boxy.
Použití
Provozujeme tyto instance, ale reŠOL
lze také self-hostit:
- re-sol.tech (oficiální clear web stránka)
- resol.i2p (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í.
Ukázky
Dependencies
~24–32MB
~698K SLoC