Wybory prezydenckie
Środowisko | Element | Link |
---|---|---|
- | JIRA | https://otwartapw.atlassian.net/ |
- | Jenkins | |
DEV | Maski administracyjne | http://dev.otwartapw.pl/mgmt/ |
DEV | Serwis inbound | http://dev.otwartapw.pl/inbound |
DEV | Serwis outbound | http://dev.otwartapw.pl/outbound |
TEST | Maski administracyjne | http://test.otwartapw.pl/mgmt/ |
TEST | Serwis inbound | http://test.otwartapw.pl/inbound |
TEST | Serwis outbound | http://test.otwartapw.pl/outbound |
Przygotowanie wyborów
- Administrator definiuje / importuje oficjalną listę Komisji Okręgowych (51)
- Administrator definiuje / importuje oficjalną listę Kandydatów (11)
- Administrator definiuje / importuje oficjalną listę Komisji Obwodowych (około 27 000)
- Administrator zakłada / importuje konta użytkowników (wolentariusze, mężowie zaufania, około 25 000)
- System automatycznie rozsyła hasła użytkowikom, wraz z linkiem do aktywacji konta, na podany adres E-Mail.
- Administrator systemu ma możliwość edycji i weryfikacji kont użytkownków wraz ich danymi (możliwa fluktuacja użytkowników tuż przed wyborami)
Dzień wyborczy - perspektywa użytkownika
- Użytkownik loguje się na stronie OPW i wybiera z listy jedną z przypisanych mu Komisji Obwodowych.
- Użytkownik widzi na okrenie dokładne informacje dotyczące wybranej Komisji Obwodowej.
- Użytkownik wpisuje dane / liczby wyborcze z protokołu do aplikacji OPW.
- Walidacja protokołu po stronie klienta (JavaScript/HTML5) dla błędów twardych.
- Użytkownik wysyła dane/liczby wyborcze na serwer OPW.
Dzień wyborczy - perspektywa serwera
- Liczby wyborcze spływają na serwer.
- Każdy protokół jest walidowany, w przypadku identyfikacji błędu miękkiego protokół protokół zostanie otagowany.
- Protokoły są zapisywane w bazie danych.
- Aktualny wynik wyborów jest publikowany co 5 minut.
Dzień wyborczy / perspektywa gościa
- Gość wchodzi na stronę główną aplikacji OPW-dashboard
- OPW/dashboard zapewnia dostęp do aktualnych wyników w skali kraju jak i gminy.
- Administrator (admin)
- Użytkownik (user)
- Gość (guest)
- Java 8 / Java EE 7 (JPA2, CDI, EJB, JSF 2.2 (PrimeFaces), JAX-RS, JavaMail)
- MySQL 5.5 (UTF8, InnoDB, MySQL Workbench)
- REST (RESTEasy)
- HTML5
- CSS3
- Maven 3
- HTML5
- JavaScript (AngularJS)
- CSS3
- Bootstrap
Konfiguracja systemu OPW-PRE bazuje w całości na podsystemie naming
kontenera JEE. Poszczególne parametry konfiguracyjne umieszczone są bezpośrednio w typowanych parametrach JNDI wedle schematu java:global/opw-pre/<MODUŁ>/<OPCJA>
. Poszczególne moduły OPW-PRE nie implementują cache
dla parametrów JNDI. Zmiana konfiguracji nie wymaga restartu kontenera JEE.
Parametr | Wartość | Opis |
---|---|---|
/opw-pre/register/baseUrl | http://localhost:8080/opw-pre-register-ws/service | Absolutne URI serwisu rejestracji |
/opw-pre/inbound/baseUrl | http://localhost:8080/opw-pre-inbound-ws/service | Absolutne URI serwisu zapisu danych |
/opw-pre/outbound/baseUrl | http://localhost:8080/opw-pre-outbound-ws/service | Absolutne URI serwisu odczytu danych |
Proces wgrywania protokołu z perspektywy użytkownika.
Numer | Metoda | Opis |
---|---|---|
1 | POST |
Zalogowanie |
2 | GET |
Lista komisji obwodowych które użytkownik dodał do własnego profilu |
3 | GET |
Detale wybranej komisji obwodowej (dane podstawowe, lista kandydatów, lista protokołów) |
4 | POST |
Upload liczb wyborczych |
5 | GET |
Wylogowanie |
Jako prefix X-OPW
X-OPW-login
X-OPW-password
X-OPW-token
X-OPW-API-client
X-OPW-API-token
X-OPW-debug-500
Plan realizacji systemu OPW-PRE.
Integracja komisji obwodowej. Integracja standardowego theme bootstrap.
- PRE-30 Migracja WildFly 10.0.0.Final
- PRE-39 Migracja WildFly 10.1.0.Final
- PRE-36 Serwer WildFly jako Maven module projektu
- PRE-25 Definicja API serwisu REST dla komisji obwodowej
- PRE-38 Monitoring serwera CI
- PRE-37 Migracja Jenkins LTS
- PRE-19 Środowisko DEV i TEST
- PRE-26 Implementacja serwisu REST dla komisji obwodowej
- PRE-27 Generator danych dla komisji obwodowej
- PRE-18 Integracja bootstrap w panelu administracyjnym
- PRE-28 Reset hasła wolontariusza
- PRE-34 Aktywacja i deaktywacja konta wolontariusza w panelu administracyjnym
- PRE-35 Zamknięcie listy kandydatów w panelu administracyjnym
- PRE-35Lista komisji wolontariusza w panelu administracyjnym
- PRE-35Zarządzanie listą komisji obwodowych wolontariusza w panelu administracyjnym
- PRE-35Upload liczb wyborczych w panelu administracyjnym
- PRE-35Aktywacja konta wolontariusza poprzez link
- PRE-35Samodzielny reset hasła
- PRE-35Dane dostępowe wolontariusza poprzez E-Mail
Integracja docker'a. Import z plików CSV.
- PRE-4 TBD
- Import CSV dla kont użytkowników
- Import CSV dla kandydatów
- Import CSV dla województw
- Import CSV dla komisji okręgowych
- Import CSV dla komisji obwodowych
- Import CSV dla komisji obwodowych
Zabezpieczenie masek administracyjnych.
- PRE-24 Zabezpieczenie masek administracyjnych
- PRE-4 TBD Koncepcja monitoringu serwisów
- Definicja szablonu SMS
- Podbieranie protokołów przesłanych na skrzynke pocztową
- Automatyczne parsowanie protokołów ze skrzynki pocztowej
- import poprawnych protokołów
- tagowanie błędnych protokołów
- tagowanie błędnych protokołów
Nowe funkcje TBD.
- PRE-4 TBD Implementacja monitoringu serwisów
Nowe funkcje TBD.
Implementacja testów wydajnościowych.
Stabilizacja aplikacji.
beta (automatyczna symulacja wyborów)
RC1 (automatyczna symulacja wyborów)
RC2 (automatyczna symulacja wyborów)
stable release
Rejestracja wolontariusza
- PRE-1 Formularz rejestracji wolontariusza JSF
- PRE-21 Definicja API serwisu REST rejestracji wolontariusza
- PRE-20 Integracja bootstrap w formularzu rejestracji wolontariusza
- PRE-23 Implementacja serwisu REST rejestracji wolontariusza
- PRE-22 VersionBuilder
- PRE-29 Definicja struktury JNDI
Implementacja masek administracyjnych.
- PRE-7 Maski administracyjne: Komisja Okregowa
- PRE-8 Maski administracyjne: Komisja Obwodowa
- PRE-9 Maski administracyjne: Województwo
- PRE-10 Maski administracyjne: Protokół
- PRE-11 Maski administracyjne: Link
- PRE-12 Maski administracyjne: Konfiguracja
- PRE-13 Maski administracyjne: Użytkownik
- PRE-15 Maski administracyjne: Kandydat
Refactoring struktury projektu, architektury jak i podstawowych komponentów API.