Skip to content
This repository has been archived by the owner on Nov 23, 2024. It is now read-only.
/ SWv2 Public archive

Electoral system for the WUST Students' Union

Notifications You must be signed in to change notification settings

informatyzacja/SWv2

Repository files navigation

System Wyborczy v2

logo

Uruchamianie (Linux, macOS, Windows)

Aby uruchomić developerską wersję Systemu Wyborczego potrzebny jest Vagrant.

$ git clone https://github.com/informatyzacja-sspwr-projekty/SWv2.git
$ cd SWv2
$ vagrant up

Wykonanie tych komend stworzy maszynę wirtualną w której będą włączone wszystkie komponenty Systemu.

Po wykonaniu strona administratora powinna być dostępna na http://localhost:8080/admin, z loginem admin i hasłem haker7, a komenda vagrant ssh powinna otworzyć shell na maszynie wirtualnej.

Aby wyłączyć maszynę wirtualną po skończeniu pracy można wykonać:

$ vagrant halt

Logi i status

Aby zobaczyć status wszystkich usług należy w shellu otwartym przez vagrant ssh wykonać:

$ sw-status

Aby zobaczyć status jednej usługi można użyć systemctl z systemd (w shellu otwartym przez vagrant ssh):

$ systemctl status sw-close-poll

Aby zobaczyć logi wszystkich komponentów w czasie rzeczywistym należy w shellu otwartym przez vagrant ssh wykonać:

$ sw-logs

kolorami zaznaczone są nazwy usług systemu

Aby zobaczyć logi jednej usługi można użyć journalctl z systemd (w shellu otwartym przez vagrant ssh):

$ journalctl --pager-end --unit=sw-close-poll
$ # lub, krócej
$ journalctl -e -u sw-close-poll

lub, aby zobaczyć logi skrolujące w czasie rzeczywistym (w shellu otwartym przez vagrant ssh):

$ journalctl --lines=all --follow --unit=sw-close-poll
$ # lub, krócej
$ journalctl -n all -f -u sw-close-poll

Aby zrestartować wszystkie usługi (przy zmianie kodu w pythonie) (w shellu otwartym przez vagrant ssh):

$ sw-restart

lub, aby zrestartować jedną usługę z użyciem systemctl z systemd (w shellu otwartym przez vagrant ssh):

$ systemctl restart sw-close-poll

Komponenty

Aplikacja we Flasku z panelem administratora

Usługa pozbywająca się tokenów z zamkniętych głosowań

Usługa zamykająca głosowania gdy ich czas zakończenia nadejdzie

Opis i skrypty dla bazy danych Postgresql

Usługa wysyłająca maile dla głosujących

Serwer HTTP(s)

Serwer SMTP przekazujący maile od sw-mailsender do WCSS

Usługa rozpoczynająca zaplanowaną w czasie wysyłkę maili