CRC Cards - Zypher-301/zypher-events GitHub Wiki

CRC Cards for planning:

Entrant

Responsibilities Collaborators
Join & leave waiting lists for events Event
View events Database, Events
View registered events Database, Events
Set/Edit/Delete profile information associated with device identity Database
Accept/Decline offers to join event when chosen by lottery Event, Database, Notification
View event details from QR code Event, QR code
Join event from event details Event
Set geolocation information Database

Organizer

Responsibilities Collaborators
Create new events with registration periods, generated QR codes, a poster, geolocation requirement Event, Database, QR code, poster
View list of entrants in waiting list for their event, with a map of entrants in waiting Event, Entrants, Database
Optionally limit entrants in waiting list Event, Database
Send notification to chosen entrants to sign up for event Entrants, Notification
Initiate entrant choosing, initiate choosing of new entrants if chosen entrants deny Lottery, Entrants, Notification
View list of chosen/cancelled/final entrants Event, Entrants
Cancel entrants that did not sign up for event Event, Entrants
Export final entrants to CSV Event, Entrants
Send notifications to entrants on waiting list/selected/cancelled Event, Entrants, Notification

Administrator

Responsibilities Collaborators
Remove events/profiles/images Database, Event, Entrants, Organizers
Browse events/profiles/images Database, Event, Entrants, Organizers
Remove organizers Database, Organizers
View log of all notifications sent to entrants by organizers Database, Notification

Event

Responsibilities Collaborators
Store list of entrants in waiting/chosen/attendees(accepted)/denied Entrants, Database
Store event name/description/time/place/registration start & end/promo poster/organizer Organizer, Database
Allow organizer to send notifications to entrants Organizer, Entrants, Notification
Generate and display QR code QR code
Allow organizer to randomly select entrants to accept with lottery Organizer, Lottery, Entrants

Database

Responsibilities Collaborators
Manage Entrant/Organizer/Admin information (Who is who, what permissions) Entrant, Organizer, Administrator
Store Events and associated information Events
Allow for the changing of data for users with permission Entrant, Organizer, Admin, Events
Store notifications with timestamps to be viewed by Administrators Notifications, Administrators

Lottery

Responsibilities Collaborators
Given an Event, choose a select few of the Entrants in the waiting list to set as chosen Events, Entrants, Database
For Events with Entrants that denied, choose new Entrants when prompted by Organizer Events, Entrants, Organizer, Database

QR Code

Responsibilities Collaborators
Allow Entrants to join the waiting list for an event Entrants, Event
Display Event info to Entrants Entrants, Event
Allow organizers to download self, displayed to Organizers from Event details Organizer, Event

Notification

Responsibilities Collaborators
Be sent by Organizers to those in waiting list/accepted/denied Organizers, Event, Entrants
Notify Entrants that they were or were not chosen from the waiting list for an event Organizers, Event, Entrants, Lottery
Abide by entrant settings (only send if notifications enabled for entrant) Entrant
Be logged in a log viewable by Administrators NotificationLog