WebTest je webové rozhraní pro testy a domácí úkoly žáků. Tento projekt se zaměřuje hlavně na (elektro-)technické úlohy. Tento projekt nabízí:
- Zápis úloh pomocí jazyka Markdown.
- Vkládání matematických vzorců ala LaTeX mocí knihovny MathJax.
- Možnost vložit do zadání náhodné číslo a očekávaný výsledek zapsat jako vzorec.
::task Dělič I.
Vypočítejte výstupní napětí nezatíženého děliče
$R_1=4,2k\Omega$, $R_2=4,2k\Omega$, kde vstupní napětí $U_1=12V$.
::close
:- 12V
:- -12V
:+ 6V
:- 0V
::task Dělič II.
Vypočítejte výstupní napětí nezatíženého děliče $R_1=4,2k\Omega$,
$R_2=4,2k\Omega$, kde vstupní napětí $U_1=12V$.
::number 6,000 0,010
::task Dělič III.
Vypočítejte výstupní napětí nezatíženého děliče $R_1=4,2k\Omega$,
$R_2=4,2k\Omega$, kde vstupní napětí $U_1=12V$.
::open
- Flask --- Python web framework.
- Python-Markdown --- Python implementace pro Markdown Johnyho Grubera.
- psycopg --- PostgreSQL adaptér pro Python.
- Pony --- ORM pro Python.
- Typogrify --- typografická vylepšení pro HTML.
- ERD databáze: https://editor.ponyorm.com/user/tlapicka/WebTest.
- Definice databázových tabulek je v modulu
wtdb.py.
Přihlášení se děje pomocí modulu wtconf.py. Soubor může vypadat takto:
# -*- coding: utf8 -*-
"Přihlašovací údaje k databázy."
DB = {
"host": "localhost",
"user": "webtest",
"database": "webtest",
"password": "mojetajneheslo"
}
Pro tvorbu vzhledu je použit:
Pomocný Skript devtools/autoMakeF5.zsh sleduje pomocí inotify adresář a pokud
se nějaký soubor změní, provede se kompilace scss a pomocí xdotool
se do prohlížeče odešle stisk F5.
V adresáři devtools/ je několik pomocných skriptů, které mají usnadnit vývoj
a práci s lokální databází.
autoMakeF5.zsh: při změně souborů automaticky odesílá do prohlížeče stisk F5.create-psql.usr.db: vytvoří v PostgreSQL uživatele a založí mu databázi.drop-psql.usr.db: zruší v PostgreSQL uživatele a všechny jeho databáze.db-insert_dev_data.py: vloží do vývojové databáze počáteční data.db-drop_create_insert.zsh: vývojovou databázi zruší, znovu vytvoří a vloží do ní počáteční data.devserver.zsh: spustí vývojový server.