Skip to content

CRC Cards

Gwendls110303 edited this page Oct 17, 2024 · 5 revisions

EntrantActivity

Responsibilities Collaborators
displays values stored in Entrants gotten from EntrantInfo (from EntrantStorageController) EntrantStorageController
Display a button that lets the user edit their info in EntrantEditActivity (settings) EntrantEditActivity
Display a button to join the waiting list for a specific event Entrant
Display a button to leave the waiting list for a specific event Event
Display a button to view event details
display a button to view user settings
display a button to register to sign up for event

Entrant

Responsibilities Collaborators
Keeps name of entrant
Keeps email of entrant
Keeps contact information of entrant
Keeps profile picture of entrant
Allowed to delete profile

EntrantEditActivity

Responsibilities Collaborators
displays current entrant info EntrantStorageController
Allow editing/deletion of entrant info Entrant
allow for option to receive notifications from organizers and admin

EntrantStorageController

Responsibilities Collaborators
Store an EntrantList which is all the information about the Entrant in the DB EntrantEditActivity
get Entrants name EntrantDB
get entrants email Entrant
get entrants phone number, if applicable
get entrants profile picture

EntrantDB

Responsibilities Collaborators
create new entrant info with a default profile picture EntrantDBConnector
update information about entrant in Firebase Firestore database Entrant
read information of an entrant in the Firebase Firestore database
delete an entrant in the Firebase Firestore database

EntrantConnector

Responsibilities Collaborators
Connects to the Firebase Firestore database EntrantDB

Organizer

(Child of Entrant)

Responsibilities Collaborators
Allowed to create an event from a facility Entrant

OrganizerActivity

Responsibilities Collaborators
display a button to create a new event and QR code OrganizerController
display a button to create and manage facility profile Organizer
display button to view entrant list information OrganizerEntrantListActivity
display map where entrants joined event waiting list
display button to send notification to sign up for event

OrganizerEntrantListActivity

Responsibilities Collaborators
display all chosen entrants who are invited to apply OrganizerController
display list of entrants who joined event waiting list OrganizerActivity
display list of all cancelled entrants Organizer
display final list of entrants who enrolled for event Notification
allow to cancel entrants who didn’t sign up for event
display button to send notification to all entrants on waiting list
send notifications to all selected entrants
sent notification to all cancelled entrants

OrganizerEditActivity

Responsibilities Collaborators
allow organizer to optionally limit number of entrants OrganizerController
allow organizer to upload an event poster OrganizerEntrantListActivity
allow to sample for a specified number of attendees to register for event Organizer
allow to draw a replacement applicant from the pooling system Event

OrganizerDB

Responsibilities Collaborators
get hash data of generated QR code OrganizerDBController
update QR

OrganizerController

Responsibilities Collaborators
get organizer changes from OrganizerEntrantListActivity OrganizerDB
get organizer changes from OrganizerEditActivity Organizer
updates OrganizerDB by removing an event OrganizerEditActivity
updates OrganizerDB by editing an event OrganizerEntrantListActivity
provides OrganizerEntrantListActivity with all expected lists, queried from OrganizerDB
provides OrganizerEditActivity with Event object to display, queried from OrganizerDB

OrganizerConnector

Responsibilities Collaborators
Connects to the Firebase Firestore database OrganizerDB

NotificationController

Responsibilities Collaborators
Sends notifications to users OrganizerEntrantListActivity

Admin

(Child of Entrant)

Responsibilities Collaborators
Allowed to remove events
Allowed to remove profiles
Allowed to remove images
Allowed to remove hashed QR code data
Allowed to remove facilities

AdminActivity

Responsibilities Collaborators
display events
display profiles
display images
displays a button and a flag of hashed QR code data to remove
displays a button and a flag of facilities that violate app policy

Facility

Responsibilities Collaborators
Keeps name of facility Organizer
Keeps facility location
Allowed to delete facility

Event

Responsibilities Collaborators
Keeps name of the event QR code
Keeps description of the event Facility
Keeps unique QR code Notification
Keeps facility where it will take place Invitation
Keeps image
Keeps whether it needs geolocation
Allowed to delete event
Send invitations to chosen entrants
Send notifications to rejected entrants

Notification

Responsibilities Collaborators
Helps to send notifications Organizer
Event

Invitation

Responsibilities Collaborators
Display button for the entrant to accept or decline Entrant

QRGenerator

Responsibilities Collaborators
hold ability to create a QR code Organizer

QRScanner

Responsibilities Collaborators
holds the ability to scan a QR code Entrant