Back End requirements for feature request 'Live Poll'
To reduce incremental changes on the back end, this issue serves as a collection of back end properties required by the feature request 'Live Poll'.
-
#1118 (closed)
livepollActive: boolean
for classRoom
, required by room-settings & create-room for room patching- not to be confused with whether a Live Poll is currently being held. This is just for settings
-
#1119 (closed) creator and moderator are able to create one or more Live Poll's
- this requires a new class / interface, called
Livepoll
with the following properties-
template : LivepollTemplate
, for using eitherABCD
or Icons like 'sentiment_satisfied' to 'sentiment_dissatisfied' -
title : string
, which is optional -
date : Date
, mentioned in #1122 -
isLive : boolean
, @rbmb29 how that's implemented is up to you (as for all properties discussed here), feel free to optimize properties, as you say a lot of them can be inferred without additional context -
isResultVisible : boolean
, mentioned in #1121 (closed) -
isViewsVisible : boolean
, mentioned in #1121 (closed) (mandatory, but doesn't hurt to have this option)
-
- Those properties are displayed for / sent to - all users (participants, moderator, creator)
- this requires a new class / interface, called
-
#1120 (closed) After a Live Poll has been created by a creator or moderator, they have the option to send real-time notifications to all participants regarding that Live Poll (so that they are aware of the poll and can provide feedback and understanding)
- a dialog should appear asking the creator or moderator, if they'd like to notify all participants
- creator and moderator should also have the option to send the notification later
- a service is required for that option
-
#1121 (closed) - Participating in a Live Poll
- creator / moderator has option to set whether Live Poll results are displayed for users
-
#1122 Multiple Live Poll's can be created
- The following properties are required for a session
-
livepolls: Livepoll[]
- a session has every Live Poll, even if it's not live anymore (
isLive : boolean
), which is referenced in #1126
- a session has every Live Poll, even if it's not live anymore (
-
- The following properties are required for a session
-
#1126 optional to save Live Poll as creator or moderator
- I'd do it the other way around. Offer creator and moderator a way to delete Live Poll's, meaning save them by default
-
#1127 (closed) If
isLive : boolean
changes- on
true
, all participants are redirected to the Live Poll - on
false
, all participants are redirected to the Question-List (Q&A Forum)
- on
Summary - required components
- interface / class
- Livepoll new
config : LivepollConfiguration
-
results: LivepollResults[]
- This should allow for Line Diagrams, based on the date and other properties of
LivepollResult
- This should allow for Line Diagrams, based on the date and other properties of
date : Date
- LivepollTemplate new
- will be an enum, meaning:
type LivepollTemplate = number
- will be an enum, meaning:
- LivepollConfiguration - also serves as Patch for Livepoll
template : LivepollTemplate
title? : string
isResultVisible : boolean
isViewsVisible : boolean
isLive : boolean
- LivepollResult new
views : number
votes : number[]
date : Date
- Room change
livepollActive : boolean
- Session change
livepolls : Livepoll[]
- Livepoll new
- services
- LivepollService new
createLivepoll( config : LivepollConfiguration ) : Observable<Livepoll>
setIsLive( isLive : boolean ) : Observable<Livepoll>
- WsLivepollService new
getLivepollResultStream () : Observable<LivepollResult>
vote( option : number ) : Observable<LivepollResult>
- LivepollService new
Edited by Lukas Haase