django project for candidates ...
Create application with principes of Democracy 21 (https://www.d21.me/)
Zadání:
Cílem je vytvořit aplikaci, která by fungovala na principech Demokracie 21.
Není nutné dořešit všechny problémy, na to asi ani není dost času. Na některých místech bude možná vhodné jen nastínit způsob rešení/argoritmu.
-
Doplnit vazby v election/models.py. Zejména vytvořit model pro hlasujícího.
-
Dořešit/nastínit jak by se dalo omezit hlasujícímu hlasovat jen jedenkrát v rámci hlasování.
-
Rozlišit aktivní/skončené hlasování.
-
Zamyslet se nad tím, zda se nemají jmenovat třídy jinak, případně jak.
-
Rozhýbat election/admin.py aby dával maximum informací.
-
Zobrazit data z hlasování na frontu (je předpřipravená šablona, stačí naplnit context), tak aby zde bylo maximum informací.
-
Rozchodit na frontu jednoduchý formulář pro hlasování.
-
Napsat testy na kontrolu hlasování, zejména poměru voleb, omezení vícečetného hlasování.
-
Rozchodit REST/GraphQL API.
-
nastínit jak řešit výkon během použití v prezidentských volbách (~5 mil. hlasujících během dvou volebních dnů).
-
nastínit jak zajistit bezpečnost proti úniku informací.
-
nastínit jak zajistit anonymitu hlasujících. Jak jim distribuovat oprávnění k volbě.
-
nastínit jak omezit zobrazení stavu hlasování i pro administrátory aplikace.
-
... fantazii se meze nekladou