innoq/spacy

Dot Voting

Opened this issue · 0 comments

The idea is that we would have something like dot voting for our sessions within our session plan.

Each user could click a button on a session and signal a "show-interest-in" command for the app.
Then we need to extend our data model to handle this command. I imagine this could be done in two ways:

  1. having a map in our event model where the ::id of a session is mapped to the integer of the number of people who are interested in it.
    • Pro: The update function for the state would simply be an inc
    • Con: If we wanted to implement a "remove-interest-in" function in the future this would be difficult because the app wouldn't have the information about whether the user was interested in it or not, so we couldn't render the action in the UI
  2. having a map in our event model where the ::id of a session is mapped to a set of all of the users who have said they would be interested in it
    • Pro: Using a set would automatically mean that a user could only vote for a session once
    • Pro: We would be able to tell that a user had voted for a session, so we could easily render a form for the user to retract their vote
    • Con: The data model would be bigger? (Although not probably such that it would be a major issue)

How this would be implemented in the UI is TBD.