W obecnej chwili podstawowym celem zespołu developerów JAVA jest zbudowanie niezależnej i obiektywnej formy weryfikacji wyników wyborów za pomocą tworzonego backend. System ten przeznaczony będzie dla ok 27800 ochotników będących mężami zaufania w obwodowych komisjach wyborczych. Użytkownicy Ci, mają za zadanie za pomocą aplikacji mobilnych przesłać dane z protokołow wyborczych wraz ze zdjeciami tychże protokołów, które udostępnione są publicznie w komisjach obwodowych na koniec dnia wyborczego do zbiorczego systemu agregacji danych (backend). System ten prócz zbierania danych ma zadanie wizualizować pozyskane informacje w postaci diagramów wyborczych z podziałem na województwa.
Członek | Rola |
---|---|
Kamil Gr | Developer Android |
Karol_D | Developer Java BackEnd |
Lukasz_F | Developer Java BackEnd |
Rafal_R | Koordynacja/Organizacja |
Remek M | Developer Java BackEnd |
Sebastian C | Developer Java BackEnd |
Sebastian P | Developer Java BackEnd |
Waldek M | Developer Java BackEnd |
RoadMap To Be Done
Jak do nas dołączyć?
Aby do nas dołączyć skontaktuj się z nami poprzez E-Mail i Skype.
Kontakt:
- Rafał Reguła: [email protected]
- Skype: rafal.regula
Strona główna projektu: https://openpkw.pl/
GitHub: https://github.com/openpkw/openpkw/tree/master/java
- Do modelowania wykorzystujemy Draw.io
- Do zmian w dokumentacji wykorzystujemy Dillinger.io oraz GitHub
- Do zadań wykorzystujemy Trello
- Wszyscy developerzy mają pełny dostęp do repozytorium
- Każdy feature implementowany jest na branchu. Przed mergem do mastera deweloperzy spotykają się i omawiają propozycje zmian
- Wykorzystujemy metodologie Agile i spotykamy sie w sprinatch co wtorek o 20
- Jesli zajdzie potrzeba spotykamy się częsciej komunikując sie na Skype (grupa OpenPKWJava ) bądz przez liste mailingową ( [email protected] )
Element | Link |
---|---|
Tablica Trello Java | https://trello.com/b/eX0kOIwp/openpkw-java |
Draw.io | https://www.draw.io |
Dillinger.io | http://dillinger.io |
GitHub | https://github.com/openpkw |
Mailing List | http://openpkw.pl/mailman/listinfo/openpkw-java |
Serwer buildów | http://dobromir.openpkw.pl:8080/view/openpkw-weryfikator%20pipeline/ |
Środowisko TEST | http://dobromir.openpkw.pl:9080/openpkw/ |
Aktualnie poszukujemy!
- Doświadczonych (bądz tez nie - ale pełnych zapału) developerów JAVA
- Programistę HTML, JavaScript, Angular, Bootstrap
Opis:
- Za pomocą aplikacji mobilnej użytkownicy (mężowie zaufania), przesyłają dane z protokółow wyborczych z obwodowych komisji przy pomocy QR kodu
- Opcjonalnie dane te zostaną przekaze w jeden w nastepujących sposobów przez PKW
- REST
- FTP
- WWW
- Dane z obwodowej komisji i protokołu wraz ze zdjecięm przesyłane są do BackEndowego systemu
- System odbiera dane i zapisuje niezbędne informacje wraz ze zdjeciami zapisanym w oddzielnym katalogu i linkami do zdjęc w samym SQL
- System umożliwia przetwarzanie tych danych a także ich weryfikacje
- System udostępnia zweryfikowane dane za pomocą strony www i wykresów, wyspecyfikowanym grupom użytkowników (docelowo wszystkim wyborcom) potwierdzając wyniki wyborów
Perspektywa Administratora / Przygotowanie do wyborów (Backend)
- Administrator zakłada konta użytkownikom (mężom zaufania)
- Administrator rozsyła hasła użytkowikom
- Administrator zbiera dane użytkownika bądź/i importuje je z XLS (Imie, nazwisko, mail , telefon, nr komisji)
- System automatycznie wysyła link do aktywacji kont, login i hasło użytkownikom na podany adres e-mail
- Administrator systemu ma możliwość edycji i weryfikacji kont użytkownków wraz ich danymi (duża fluktuacja użytkownków przed wyborami)
- Administrator ma możliwość weryfikacji i podglądu listy użytkownikow, ktorzy odebrali hasła i poprawnie przesli procedurę testowego logowania do systemu
Perspektywa Użytkownika / Dzień Wyborczy (Aplikacje Mobilne)
- Użytkownik uwierzytelnia się w aplikacji mobilnej za pomocą uprzednio otrzymanego loginu i hasła od Administratora
- Po poprawnym uwierzytelnieniu się system rozpoznaje użytkownika i przypisuje automatycznie wczesniej numer obwodowej komisji z której przekazuje dane za pomoca QR
- Użytkownik przesyła dane automatycznie robiąc zdjecie kodu QR a także samych stron protokoły wyborczego. Przekazuje następujące dane:
- Ilość uprawnionych do głosowania
- Ilość wydanych kart do głosowania
- Ilość kart ważnych
- Ilość głosów nieważnych
- Ilość głosów ważnych
- Ilość głosów dla poszczególnych kandydatow / komitetów wyborczej
- Administrator Systemu (admin)
- Użytkownik Aplikacji (user)
- Operator Systemu (operator)
- Użytkownik www (frontend)
-
Wysyłanie protokołów i zakonczenie liczenia głosów w 25000 komisjach zazwyczaj konczy się o tej samej porze +/- 15 min w przypadku prostych wyborów jakimi są Wybory Prezydenckie.Potrzebna Analiza wydajnosciowa serwerów w tym (SQL, Moc Obliczeniowa maszyny oraz sama przepustowość łącza i-net). Zastanowić się nad modułem synchronizacji otrzymywania wyników.
-
W przypadku gdy usługa będzie cieszyć sie bardzo dużą popularnoscią, Goście (wyborcy), którzy będą chcieli sprawdzić niezależne wyniki wyborów na stronie www - mogą spowodować problemy wydajnosciowe i/lub zawieszenie sie serwerów. Do rozważenia wprowadzenie modułu logowania na gości i ograniczenie ilości połaczeń dla danego gościa.
##Wymagane oprogramowanie, środowiska DEV oraz technologie
- Android 4.x - Lolipop
- Ios 7.xx
- WindowsPhone 8.x
- Java EE 7 (GlassFish 4/ WildFly 8.2, JPA2, Spring 4, JAX-RS, JAAS, JavaMail)
- PostgreSQL
- REST
- HTML5
- CSS3
- Maven 3
- Json 2.0 (revised version)
- HTML5
- JavaScript (AngularJS)
- CSS3
- Bootstrap
Podstawowa instalacja komponentów serwera Wildfly
https://github.com/openpkw/openpkw-weryfikator/blob/master/TECHNICAL_README.MD