Agora:电子投票库

Agora Web Frontend的主页

Agora是由澳大利亚开源软件创新和教育(AOSSIE)开发的,在Scala中实现的电子投票库,请在此处查看。

它允许您创建选举并邀请您的朋友投票。 您可以选择任何食物,从选择食物的地方,选择要使用的框架,选择办公室的位置进行选举-使用多种投票算法之一,包括穷举选票,无遮盖选票,随机选票等等。


今天,在本文中,我将向您演示使用Agora创建选举的难易程度。

为了今天的演示,我将使用Agora-web-frontend存储库,该存储库使用Agora Web API作为其后端应用程序。 如果愿意,您可以访问https://agora-frontend.herokuapp.com进行后续操作。


Agora提供了两种创建帐户的方式,今天我将介绍两种创建帐户的方式。

传统电子邮件注册

在主页的右侧,已经有一个注册栏,否则,您可以访问https://agora-frontend.herokuapp.com/signup。

Agora需要非常基本的注册信息,您的显示名称,名称,电子邮件和密码。 这是一个2分钟的简单过程。

完成后,您将在注册表单的底部看到成功消息,导航至您的电子邮件并查找激活链接。

如果找不到它,请检查垃圾邮件和垃圾文件夹。

Facebook注册

在注册栏的底部,您会看到facebook注册按钮,单击它并登录到facebook,它比传统的电子邮件注册要简单得多,因为它将您重定向到必要的页面。

而已! 您已完成注册!


登录后,您必须导航到仪表板。

将鼠标悬停在“创建选举”按钮上,然后单击它。


在这个阶段,您应该看到一个这样的屏幕,

输入选举名称,这将是选举的标题。 然后,键入选举的描述,所有参与者都将可见。
完成后,按“下一步”。


现在,您应该看到一个这样的屏幕,

选择选举的开始日期和时间以及选举的结束日期和时间。 用户只能在开始日期和时间开始您的选举,并且在结束日期和时间之后将无法再输入响应。
完成后,按“下一步”。


在此阶段,您的选举已经创建,但是您需要指出您的选择或候选人。 只需输入选项/候选者,然后单击“确定”。


现在这是您将从我那里收到大量信息的部分。 以前,由于Agora团队的直观且出色的UI设计,这些步骤几乎是理所当然的。

在这个阶段,您将看到一个投票算法列表。

让我们谈谈3种不同类型的投票算法。

满意批准投票

该投票算法是史蒂芬·布拉姆斯(Steven Brams)和马克·基尔古(Marc Kilgour)于2010年提出的,它是一种选举系统,用于扩展批准投票的概念,允许多名获胜者选举。

满意批准投票(SAV)旨在最大程度地提高选民的满意度,尽管与比例批准投票类似,SAV会以不同的方式计算选民的满意度。 选民获得的满意度以1 / n计算,其中n是他们投票的候选人数。 因此,简单来说,您的选民有1个投票权,而该投票权将在他们投票的候选人数之间分配,比如说他们投票赞成2名候选人,每位候选人将获得半票。

如果您希望允许多个获胜者,同时又要了解选民对候选人的满意度,这应该是您使用的算法。

凯梅尼·杨投票

此投票算法使用优先投票来识别选举中最受欢迎的选择。 这是一种Condorcet方法,其中最受欢迎的候选人将赢得选举。 选民可以选择最受欢迎的选择,而选择最少的选择。

考虑到哪个选择可能是最受欢迎,第二受欢迎等等,该投票算法为每个可能的投票序列分配分数。 得分最高的序列是获胜序列,该序列中的第一选择将是最受欢迎的选择。

这是一个很好的算法,因为单个选民无法在所有情况下控制投票结果,并且如果大多数选民都比其他人更偏爱某个候选人,那么无论其满意度或其他因素如何,该候选人都是最受欢迎的候选人。

多数表决算法

多数表决算法以Robert S. Boyer和J Strother Moore命名。 这是一种通过获得多数票来在选民中找到最受欢迎的选择的算法。

该算法使用计算机来计算结果,它在其局部变量中维护一个序列元素和一个计数器,该计数器最初为零。 在处理元素x时 ,如果计数器为零,则算法会将x存储在其序列元素中并将计数器设置为1,否则将x与其他存储的元素进行比较,如果它们相等则增加计数器,或者减少计数器。

最后,我们将获得多数票序列,算法存储的元素是选举的获胜者。

这是一个很好的算法,好像存在多数元素,该算法将始终找到它并将其显示为获胜者。

这是三种算法,Agora提供了更多的功能! 在做出选择之前,请不要犹豫在Google中搜索所有这些内容,不用担心,这里没有计时器。


Jakob Owens在Unsplash上​​拍摄的照片

不同的Wi-Fi安全协议

以及您为什么要关心。

medium.com

查看我关于不同的Wi-Fi安全协议的其他文章!

软件测试方法

这些是什么?

medium.com

请参阅我的另一篇关于不同软件测试方法的文章,该文章最近由Medium的策展人在软件工程部分发表!

Kenal T.-中

阅读Kenal T.在Medium上的文章。 网页设计师和道德黑客。 每天,Kenal T.和数以千计的其他声音……

medium.com

请务必也跟我来,这样当我发布新文章时,我就会收到有关IT的所有信息的通知!


隐私设置指示您是否要公开当前的投票结果,以便所有人都可以查看,只对您可见或对所有人(包括您)隐藏。

您还可以设置选项,让您自己或被邀请参加选举的所有人都可以看到选民名单。


单击“完成”后,您就完成了整个选举创建过程! 现在,通过电子邮件邀请您的朋友并监视您的选举结果!

如果您需要修改选举,则可以随时在信息中心进行

我希望向您展示Agora Vote的工作原理,已经说服您使用此库进行在线选举!

不要忘了在@ https://gitlab.com/aossie/Agora-Web上查看!


我们到了尽头! 编写这本书肯定是一种乐趣!

如果您对此有任何疑问,请随时给我留言,我们将尽快为您解答! 😃


感谢您抽出宝贵的时间阅读我的文章! 作为免责声明,我只想说几件事。

1.本文提供的信息与我的研究和个人经验一样准确,您不应出于官方目的引用本文。

2.本文提供的信息仅用于教育目的,如果您出于恶意目的使用此信息或使自己陷入法律麻烦,我概不负责。

如果您想了解其他与安全/技术相关的信息,请在下面的评论栏中进行!

希望您喜欢我的文章,并且不要忘记粉碎那个鼓掌按钮😉。