Цель проекта - Создать сервис для проведения голосований, который обеспечивает анонимность голосующих, а так же делает невозможной подделку и накрутку результатов. Для того, чтобы обеспечить эти возможности, сделать этот сервис на основе технологии блокчейн.
Задачи:
-
Реализовать возможность создания и проведения опросов на нашем сервисе
-
Реализовать различные виды вопросов:
-
с выбором одного ответа
-
с выбором множества ответов
-
с возможностью ручного ввода ответа
-
Реализовать вывод результатов голосования
Реализовать хранение и валидацию ответов с помощью блокчейна
Что было сделано:
Была реализована возможность создания голосований с большим количеством вопросов, предлагаемых участнику. При создании голосования можно у каждого вопроса задать тип, который определяет, какой вид ответа должен дать участник голосования: должен ли этот ответ содержать в себе только один выбранный участником вариант, множество выбранных вариантов, или участник голосования должен вводить ответ вручную. Одно голосование может содержать в себе до 50 вопросов, в вопросах с выбором ответа обязательно указывать не менее двух вариантов.
Была реализована возможность участия в голосовании, при этом пользователь видит сразу весь список вопросов, на которые он должен ответить, и ввести ответ он может только способом, предусмотренным типом вопроса. Один и тот же пользователь поучаствовать в голосовании может только один раз. При этом его ответы записываются в блокчейн в виде транзакций.
Был реализован вывод результатов голосования, в котором указывается, сколько раз был введён тот или иной ответ на заданный вопрос. При этом учитываются только ответы, прошедшие валидацию, что позволяет отсечь ответы, отправленные некорректно, и позволяет обесечить надёжность и достоверность представленных результатов.