GeekZoneHQ / web

Software to power the Geek.Zone website and apps
http://geek.zone/web
GNU General Public License v3.0
19 stars 29 forks source link

Elections #628

Open jamesgeddes opened 1 year ago

jamesgeddes commented 1 year ago

What's your idea?

Gap

The Geek.Zone/Election occurs every year to give all members the opportunity to select the Trustees who they wish to represent them for the coming twelve months. Organising this is currently done manually, which clearly takes significant time and can be error-prone.

Timeframe

Hard deployment deadline: 2023-07-01T00:00

The service must be tested and ready for production use by 2023-07-01T00:00 ahead of the Call for Returning Officer on 2023-08-06.

Requirements

Summary

Design and build a service that allows elections to be organised automatically within Geek.Zone/Web, and then votes to be collected via an external provider.

P1
P2
P3
P4

Constraints

Seats
The Trustee seats available for election are as follows. Name of Seat Number of Officers
Chair of Trustees 1
Treasurer 1
Secretary 1
Trustee for Geek.Zone/Coventry 1
Trustee for Geek.Zone/London 1
Trustee for Geek.Zone/Chelmsford 1
Trustee
Voting Methods
Providers

We must use an external GDPR-compliant electronic voting provider to conduct the election to ensure impartiality. Everything else should be done within Geek.Zone/Web to ensure ease of use.

You will need to find an electronic voting provider who can satisfy the requirements of this epic. Previously, we have used OpaVote to conduct our elections, however, they do not provide an API that can create elections. While we would like to continue to do so, on 2020-07-18 when asked if they had any plans to extend the API so that we can automatically create an election, OpaVote replied "Yes, but not soon."

Schedule

The Election & AGM schedule is as follows.

Event Description Communication Medium Recipient DateTime
Call for Returning Officer Update Email
Blog Post
All members 30 Days before Call for Candidates
Call for Candidates Update Email
Blog Post
All members 30 Days Before Notice of Election
Notice of Election Constitutional Email
Blog Post
Wiki article
All members 20 Days Before Voting Commences
Call for candidates closes Secure API Electronic voting provider Immediately before Create election
Create election and populate with required data Secure API Electronic voting provider Immediately before Election Setup Verification request
Election Setup Verification request Email Returning Officer 2 days before Voting Commences
Publish candidate profiles Wiki article Public Immediately before Voting Commences
Voting Commences Update Email
Blog Post
All members 30 Days Before AGM
Notice of AGM Constitutional Email
Blog Post
Wiki article
All members 20 Days Before AGM
Voting Reminder Update Email
Blog Post
All members 15 Days before AGM
Voting Reminder Update Email
Blog Post
All members 5 Days before AGM
Voting Concludes Update Email
Blog Post
All members 2 days before the AGM
Election Result Verification Request Email Returning Officer 2 days before the AGM
AGM start Update Email
Blog Post
All members Last Saturday, every November, 19:00
Publish election result if Returning officer has approved Wiki Public 1 hour after AGM start
Re-election

It is required by the Geek.Zone/Constitution that "one-third of the trustees shall retire from office" ahead of each AGM. To ensure transparent democracy as well as simplicity, we have thus far taken the convention that all Trustees voluntarily stand for re-election every year, regardless of whether they are constitutionally required to do so.

User Story

As the Returning Officer, I want the administration of Geek.Zone elections to be automated so that I can focus on my core duties.

Impact

High

Urgency

Now

Code of Conduct

Please note!

This is our biggest requirement, hence the epic label. Please split this ticket into child tickets that you can do in one sitting.

SamWinterhalder commented 1 year ago

@Freshrojek Are you around atm to team up on this?