From 70bb4a57f308cbcd582e2c587f72a855b3e6dc40 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Sat, 9 Apr 2022 20:19:10 +0200 Subject: initiaƦ draft MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ADMIN.md | 35 +++++++++++++++++++++++++++++++++++ README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ TODO.md | 8 ++++++++ img/datamodel.dot | 25 +++++++++++++++++++++++++ 4 files changed, 118 insertions(+) create mode 100644 ADMIN.md create mode 100644 README.md create mode 100644 TODO.md create mode 100644 img/datamodel.dot diff --git a/ADMIN.md b/ADMIN.md new file mode 100644 index 0000000..fb4455d --- /dev/null +++ b/ADMIN.md @@ -0,0 +1,35 @@ +# Administrating event vote + +## Create draft event + +In the "ballot draft" calendar, +create a draft event +at the earliest possible time it might occur, +and fill in all possible options, +including end time (to indicate estimated length of event) +and invitees (those known ahead of time, if any). + +Save the draft event, +and check you mail: +You should then receive an email +with instructions on composing a ballot for the draft event. + +NB! You can freely *edit* the draft event after it was saved, +e.g. to update the event title and description. + +NB! If you *delete* a draft event, +then the whole event vote is dropped. + + +## Compose ballot + +Tell variability of the vote: + + * earliest possible occurence + * pre-filled with start time of draft event + * if changed, then also update start time of draft event + * latest possible occurence + * possible times of day + * e.g. only within business hours, or only after business hours and before supper time + * possible days + * e.g. only business days, or only weekends and holidays diff --git a/README.md b/README.md new file mode 100644 index 0000000..1aeb456 --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# Event voting + +> collectively deciding when an event should occur + +Modular, Doodle-like event voting. + + +## Phases + +### Ballot design + +Create prototype; +either event (with start and end time) +or task list (listing all options). + + +#### Event: Create prototype event + +Create a prototype event, +at the earliest possible time, +and end time to indicate estimated length of event. + +Provide title and description, + + + * id + * title + * description + * timespan for event - when event can be held + * length - timespan of event + * invitees + * open/closed? - can others invite themselves? + + +## See also + + * [Dudle] + * [Framadate] + * [Belenios] + * [CIVS] + +[Dudle]: + +[Framadate]: + +[belenios]: + "Belenios - Verifiable online voting system" + +[CIVS]: + "Condorcet Internet Voting Service" diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..75cf6cd --- /dev/null +++ b/TODO.md @@ -0,0 +1,8 @@ + * maybe support interfacing with [Belenios] + * maybe integrate with or extend [KNoodle] + +[belenios]: + "Belenios - Verifiable online voting system" + +[KNoodle]: + "KNoodle - KNoWS' Solid-based alternative to Doodle" diff --git a/img/datamodel.dot b/img/datamodel.dot new file mode 100644 index 0000000..fa5d0f8 --- /dev/null +++ b/img/datamodel.dot @@ -0,0 +1,25 @@ +# Graph of data model +# Copyright 2022 Jonas Smedegaard +# +# Licensed under the terms of the GNU Affero General Public License, +# either version 3 of the License, +# or (at your option) any later version. + +# Use: dot -Tx11 datamodel.dot + +digraph { rankdir=TB + +my_freebusy -> my_ballot +my_ballot -> ballot [ dir=back ] +my_vote -> vote +my_attendance -> event + +draft_event -> draft_freebusy -> ballot + +rank=same { ballot my_ballot } +rank=same { vote my_vote } +rank=same { event my_attendance } + +ballot -> vote -> winner -> event + +} -- cgit v1.2.3