Home > cevote

cevote

Cevote is a project mainly written in Python, it's free.

cevote — student council e-election program. My first project, you probably shouldn't bother trying to use it.

This program is licensed under the AGPL version 3, see file headers and the AGPL-3.0 file for details.

The SelectCandidateWidget is an AGPLv3 derivative of Django's SelectCheckboxMultiple, which was originally licensed under a BSD-style license. See the header of vote/SelectCandidateWidget.py for details.

To install with symbolic links:

  1. Symbolic link to the contents of vote/media, from the root of your MEDIA_DIR.
  2. Symbolic link to the contents of vote/templates, from the root of your TEMPLATE_DIR
  3. Follow the GenericInstall instructions below.

To install by copying:

  1. Copy the contents of vote/media/ to the root of your MEDIA_DIR.
  2. Copy the contents of vote/templates/ to the root of your TEMPLATE_DIR
  3. Follow the GenericInstall instructions below.

GenericInstall instructions:

  1. Precede with To install with symbolic links'' orTo install by copying''.
  2. Add the following line to urlpatterns in your site's urls.py: (r'^accounts/login/$', 'django.contrib.auth.views.login'),
  3. Add the following line to urlpatterns in your site's urls.py: (r'^admin/vote/results/', 'cevote.vote.admin_views.results'), making sure it precedes the following: (r'^admin/(.*)', admin.site.root),
  4. Add 'from vote.settings import *' to your site's settings.py . See comments in vote.settings for vote settings documentation.
  5. To compile translations, run the following command from the vote application's directory: django-admin.py compilemessages
  6. To compile API documentation, run epydoc on the vote package.

Howto use:

  1. Install and configure the vote application and enable the admin interface if it has not already been done. From the admin interface:
  2. Create voting groups. Since this application was written mainly for Student council elections, groups represent groups of students who can vote for a certain position. Example, only Grade 10, 11 and 12 students (Grade 10--12'' Group) can vote for theGrade 10--12 representative'' position.
  3. Create positions, filling in the requested information and selecting the groups that may for for the created positions.
  4. Create candidates for each position. You may optionally upload a picture.
  5. Create the desired amount of voters in each group and print the list of created voters. On election day:
  6. Have the voters queue. Once they have supplied credentials, randomly select a UUID from the UUIDs created for their group and direct them to logon to the UUID login page ('http://123.456.789.012/vote/' by default) and to select their candidates. Inform them that they must thoroughly ensure that they have correctly selected their choices before submitting since it is impossible to uncast a vote. After the elections:
  7. You may view the election results at any time by visiting /admin/vote/results/ .
Previous:csl