Описание произведения:
Информационная система клиента платформы для проведения электронного голосования на базе технологий распределенных реестров предназначена для работы пользователя, участвующего в проведении голосований. Основной функционал заложен в клиентском приложении, которое позволяет пользователю осуществлять вход в систему электронного голосования, просматривать доступные повестки дня, регистрироваться на участие в голосованиях, голосовать по вопросам повестки и просматривать результаты голосования по вопросам повестки. Пользователю также доступна возможность ознакомиться с тем, как именно он проголосовал по каждому вопросу после волеизъявления. Клиентское приложение можно условно разделить на 2 части: веб-версия приложения и мобильная версия приложения. Несмотря на то, что обе эти части имеют одинаковый исходный код, каждая из платформ обладает своими требованиями. Далее представлены основные модули исходного кода.
1. Модуль взаимодействия с сервером
Осуществляет взаимодействие с сервером по протоколу https. Позволяет отправлять запрос на авторизацию, регистрацию на голосования, отправку голоса по определенному вопросу, получение результатов голосования, а также получение данных для последующей визуализации.
(Фрагмент кода: 1.1.Модуль взаимодействия с сервером)
2. Модуль хранения данных
Осуществляет чтение и запись данных для визуализации в local storage web-версии приложения и внутреннее хранилище мобильной версии приложения. Позволяет отображать информацию при нестабильном интернет соединении.
(Фрагмент кода: 1.2.Модуль хранения данных)
3. Модуль визуализации данных
Взаимодействуя с модулем хранения данных, генерирует следующие страницы: доступные повестки, информация о повестке, регистрация, список вопросов, список вариантов ответов, подтверждение голоса, результаты. В зависимости от статуса повестки дня отображает доступные пользователю действия.
(Фрагмент кода: 1.3.Модуль визуализации данных)
4. Модуль мобильной версии приложения
Содержит конфигурационные файлы и скрипты, необходимые для сборки мобильной версии приложения для операционных систем: Android, IOS и WindowsPhone.
(Фрагмент кода: 1.4.Модуль мобильной версии приложения)
5. Модуль push-уведомлений
Осуществляет отправку идентификатора устройства, мэппинг идентификатора устройства и идентификатора события, прием уведомлений с помощью Firebase.
(Фрагмент кода: 1.5.Модуль push-уведомлений)
6. Модуль локализации
Обрабатывает json файл со всеми текстовыми формулировками. Предоставляет возможность использовать файл с текстом на другом языке. Подставляет текст из файла в нужные места приложения.
(Фрагмент кода: 1.6.Модуль локализации)
7. Модуль настройки цвета и логотипа клиентского приложения
Состоит из серверной и клиентской части. С помощью веб-интерфейса можно выбрать цветовую схему и основной логотип приложения. Сервер в свою очередь принимает выбор пользователя, проверяет актуальность исходного кода приложения и изменяет файлы стилей в соответствии с выбранной цветовой схемой. После чего, север собирает Android приложение, а результатом является ссылка на скачивание приложения и измененный внешний вид веб-версии приложения.
(Фрагмент кода: 1.7.Модуль настройки цвета и логотипа клиентского приложения)
Вид и версия операционной системы, для функционирования под управлением которой предназначена программа для ЭВМ (База данных)
Android, IOS, WindowsPhone, браузер.
Ключевые слова:
блокчейн, голосование, e-voting, распределенный реестр, distributed ledger, blockchain