Projekt strony internetowej

Ostatnim zadaniem na naszym kursie jest przygotowanie projektu strony internetowej. Strona ma na celu przedstawienie pewnego zagadnienia matematycznego na poziomie przynajmniej liceum (prowadzący laboratoria mogą doprecyzować wymagania, o ile spełniony jest podany tu warunek). Zagadnienie to musi być inne niż dotyczące funkcji kwadratowej (delta odpada, wszyscy z Was pewnie mają jej absolutnie dość).

Strona powinna spełniać następujące wytyczne (Niektóre wytyczne w punkcie 5 oraz 7 opisują biblioteki JavaScript, które omówimy na kolejnym wykładzie. Zanim to nastąpi są one podlinkowane do odpowiednich stron, ale można już zacząć pracę).

  1. Strona korzysta z serwera napisanego w Pythonie z wykorzystaniem biblioteki Flask.
  2. Strona korzysta z żywego standardu HTML oraz wykorzystuje CSS nadający jej nieodstraszający wygląd (jeśli nie wygląda jak strony z okresu Wojen Przeglądarek, będzie dobrze — nie ma konieczności „trafienia w gusta” prowadzącego, można zrobić stronę w zgodzie ze swoimi gustami).
  3. HTML oraz CSS na stronie przechodzą pomyślnie proces walidacji.
  4. Strona ma przynajmniej trzy podstrony, przykładowo:
    1. podstronę o projekcie,
    2. podstronę z demonstracją zagadnienia matematycznego oraz
    3. podstronę z informacjami o autorach.
  5. Strona posiada przynajmniej jeden wzór matematyczny złożony za pomocą biblioteki MathJax.
  6. Strona ma przynajmniej jeden formularz przesyłający dane do aplikacji we Flasku za pomocą metody POST.
  7. W oparciu o dane z formularza strona przygotowuje rysunek za pomocą przynajmniej jednej z poniższych metod:
    1. generowanie obrazu PNG lub SVG za pomocą biblioteki matplotlib,
    2. przygotowanie odpowiedniego skryptu wyświetlającego ilustrację w JSXGraph,
    3. przygotowanie wizualizacji danych w bibliotece D3.js,
    4. przygotowanie diagramów lub wizualizacji w bibliotece TikZJax.
  8. Strona powinna być przechowywana na repozytorium git do kursu oraz:
    1. każdy członek zespołu chcący otrzymać komplet punktów powinien mieć przynajmniej 2 commity,
    2. w repozytorium powinny znajdować się wszystkie pliki potrzebne do uruchomienia i działania strony,
    3. do repozytorium należy dodać swoich prowadzących, aby mieli dostęp do kodu.

Potraktowanie wytycznych w sposób istotnie nieminimalistyczny lub wykorzystanie rozwiązań wykraczających poza omawiane na wykładzie, może być promowane przez prowadzących dodatkowymi punktami (10% skali).

Projekt przygotowujemy w grupach 3–4 osobowych. Łączenie członków zespołów z różnych grup laboratoryjnych jest możliwe pod warunkiem uzyskania zgody prowadzących ze wszystkich grup.

Termin oddania projektu ustalimy podczas najbliższych zajęć (przynajmniej do końca semestru, możliwość przesunięcia na sesję).