Deliverable ‐ CRC Cards - CMPUT301W26glitch0/glitch0-events GitHub Wiki

Page displaying the CRC Cards for Project Part 2.

NOTE: Updates/revisions have been made to the CRC Cards present in this page, in reference to TA feedback.

Profile

profile

Responsibilities Collaborators
Stores name, email, phone number, geolocation and can identify user by device event
Organizer can be edit and delete their profile Organizer
Entrant can be edit and delete their profile Entrant
Admin can remove if it is inappropriate admin

Lottery

lotteryPool

Responsibilities Collaborators
opens for events and is open until deadline event
randomly selects entrants from pool after deadline Organizer
provides the result of selection for each entrant entrant, notification, lotteryDB
when entrant declines invitation or does not accept it, it draws again to fill the spot entrant, notification, lotteryDB

lotteryDB

Responsibilities Collaborators
stores all entrants and their selection result lottery
can delete applicants when they withdraw application entrant
can update applicant status upon draw or other changes in status lotteryPool, entrant

Notification

notification

Responsibilities Collaborators
notification sent to entrants entrant
contains information about the event event
can be sent by organizers organizer

notificationDB

Responsibilities Collaborators
stores logs of notification and related information notification
can update information such as change in entrants entrant, entrantDB, organizer

Poster

poster

Responsibilities Collaborators
contains image file of poster posterDB
poster is created for an event event
organizers upload and edit the poster organizer

posterDB

Responsibilities Collaborators
can upload, create or delete poster poster
admin can remove inappropriate poster admin

Comment

Comment

Responsibilities Collaborators
Users can write comments user
Comments are under specific event event
Organizers can view and delete comments organizer
Admins can view and delete comments admin

Entrant

entrant

Responsibilities Collaborators
can view list of events and filter them event
can view, edit or delete profile profile
can freely join and withdraw events and view logs of history of registration organizer
can receive notification or turn it off notification
can be drawn from lotterypool and redrawn if some entrants leave the pool lotteryPool
can accept or decline invitation notification, lotteryPool
can view number of applicants to the event event, lotteryPool
can be informed about criteria or guideline of the event event, eventDB
can signup for event in event detail page or QR code event, eventDB

entrantDB

Responsibilities Collaborators
can create, edit and delete profile entrant
admin can remove profile admin
can read event, event detail and related content such as poster event, eventDB, lotteryDB, poster
can read history of application and their result entrant

Admin

admin

Responsibilities Collaborators
able to browse and remove event and poster event, poster
able to remove profile profile
able to remove organizers organizer
able to browse notification history notification

adminDB

Responsibilities Collaborators
stores login information for admin admin, posterDB, eventDB, profileDB, notificationDB

Organizers

organizer

Responsibilities Collaborators
can open pools and registration period for event lotteryPool
can upload poster for event poster
can upload details of event event
can view list of entrants entrant
can send notification notification
can enable or disable geolocation requirement event, lotteryPool
can set limit for waiting list and attendee event, lotteryPool
can choose to draw for replacement entrant when entrants leave event, lotteryPool

organizerDB

Responsibilities Collaborators
stores organizer's information organizer, posterDB, eventDB, notificationDB

Event

event

Responsibilities Collaborators
contains event details such as organizer, name, date, price, number of spot, poster, waiting list, location and QR code organizer
has waiting list for entrants entrant
draws from entrant pool after registration period lotteryPool

eventDB

Responsibilities Collaborators
stores, updates and deletes event details such as organizer, name, date, price, number of spot, poster, waiting list, location and QR code event

MainAcitivity

Responsibilities Collaborators
Handle login of entrant entrantDB
Handle login of organizer organizerDB
Redirect user to registration page RegisterActivity
Redirect entrant to main dashboard upon successful login DashboardActivity
Redirect organizer to main dashboard upon successful login OrganizerDashboardActivity

SharedUI

RegisterActivity

Responsibilities Collaborators
Handle account creation for entrant entrantDB
Handle account creation for organizer organizerDB
Redirect entrant to main dashboard upon successful account creation DashboardActivity
Redirect organizer to main dashboard upon successful account creation OrganizerDashboardActivity

ProfileActivity

Responsibilities Collaborators
Receives profile information of entrant entrantDB
Display profile information for entrant entrant
Receives profile information of organizer organizerDB
Display profile information for organizer organizer
Redirect user to DeleteProfileActivity if delete profile is selected DeleteProfileActivity

DeleteProfileActivity

Responsibilities Collaborators
Prompts entrant to press delete profile button entrant
If delete profile button is pressed, entrant's profile is deleted entrantDB
Prompts organizer to press delete profile button organizer
If delete profile button is pressed, entrant's profile is deleted organizerDB

EntrantUI

DashboardActivity

Responsibilities Collaborators
Entrant can navigate to ProfileActivity ProfileActivity
Entrant can navigate to MyEventsActivity MyEventsActivity
Displays events EventAdapter
Entrant navigates to EventDetailActivity upon clicking on an event EventDetailActivity
Entrants can view notifications notification

EventDetailsActivity

Responsibilities Collaborators
Entrant can return to DashboardActivity DashboardActivity
Entrant can view information about the event eventDB

MyEventsActivity

Responsibilities Collaborators
Entrant can navigate to ProfileActivity ProfileActivity
Entrant can navigate to DashboardActivity DashboardActivity
Display history of entrant's events MyEventsAdapter

EventAdapater

Responsibilities Collaborators
Process event information and display information eventDB

MyEventsAdapater

Responsibilities Collaborators
Display history of events for entrant entrantDB

##CoOrganizerInvitationActivity

Responsibilities Collaborators
Display CoOrganizer invitation for entrant to accept or decline entrant
Navigate to EventDetailActivitiy on accept EventDetailActivity
Terminates activity if decline

CommentAdapter

Responsibilities Collaborators
Manage list of comments including adding, displaying and deleting comment
Update evetnDB upon changes to comment eventDB
Update UI of changes EventDetailsActivity

FilterEventsActivity

Responsibilities Collaborators
Filters events by Availibilty and Capacity event
Update UI to display filtered Activity EventAdapter

NotificationAdapter

Responsibilities Collaborators
Manage list of notifications including adding, displaying and deleting notification
Update notificationDB upon changes to comment notificationDB
Update UI of changes DashboardActivity

QRScanActivity

Responsibilities Collaborators
Upon successful scan, redirect to EventsDetailActivity EventsDetailActivity
Currently superseded by ScanQRAcitivity ScanQRAcitivity

ScanQRActivity

Responsibilities Collaborators
Upon successful scan, redirect to EventsDetailActivity EventsDetailActivity

OrganizerUI

OrganizerDashboardActivity

Responsibilities Collaborators
Organizers can create new events CreateEventsActivity
Organizers can view the events they organized OrganizerEventAdapter
Organizers can access their profile ProfileActivity

OrganizerEventAdapater

Responsibilities Collaborators
View event details and edit it eventDB

CreateEventAvtivity

Responsibilities Collaborators
Create new event eventDB
Recieve poster for event posterDB
Set deadlines for event RegistrationTimingActivity

RegistrationTimingActivity

Responsibilities Collaborators
Allows organizers to set deadlines for registration and event CreateEventActivity

OrganizerEventDetailsActivity

Responsibilities Collaborators
Organizer can view, edit, delete event eventDB
Organizer can view QR code for event QRdisplayActivity
Organizer can navigate back to OrganizerDashboardActivity OrganizerDashboardActivity
Organizer can navigate to EntrantListActivity EntrantListActivity
Organizer can navigate to LotteryDrawActivity LotteryDrawActivity

QRdisplayActivity

Responsibilities Collaborators
Display QR code for registration OrganizerEventDetailActivity

EntrantListActivity

Responsibilities Collaborators
Can see list of entrants and their status EntrantAdapter
Organizers can navigate back to OrganizerEventDetailsActivity OrganizerEventDetailsActivity

EntrantAdapter

Responsibilities Collaborators
Recieves entrant details for entrants who joined the pool and displays it entrantDB

LotteryDrawActivity

Responsibilities Collaborators
Upon registration deadline, draw from pool of entrants eventDB
Notify entrants about the result notificationDB

AssignCoOrganizerActivity

Responsibilities Collaborators
Organizers can view list of users and filter them entrant
Organizers can send invitation to users to be co-organizers notification
Notify database of the changes eventDB

InviteEntrantToWaitingListActivity

Responsibilities Collaborators
Organizers can search through users entrant
Organizers can send invitation to users notification
In database, create WAITING_LIST_INVITATION to log the invitation notificationDB

InviteUserAdapter

Responsibilities Collaborators
Selects list of entrants that can be invited and their status entrant
Displays the list of users in UI AssignCoOrganizerActivity
User joins private event's waiting list upon accepting the invite event

InvitedEntrantAdapter

Responsibilities Collaborators
Returns list of entrants that are invited for an event and their status entrant
Diaplays the list of entrants in UI InviteEntrantToWaitingListActivity
User joins private event's waiting list upon accepting the invite event

NotifyCancelledEntrantsActivity

Responsibilities Collaborators
Allows an organizer to compose and send a custom broadcast message organizer
The broadcast message is sent via notification notification
Notification is sent to all entrants in waiting list whose lottery outcome is DECLINED or CANCELLED unless they opted out entrant

NotifySelectedEntrantsActivity

Responsibilities Collaborators
Allows an organizer to compose and send a custom broadcast message organizer
The broadcast message is sent via notification notification
Notification is sent to all entrants in waiting list whose lottery outcome is SELECTED or ACCEPTED unless they opted out entrant

NotifyWaitingListActivity

Responsibilities Collaborators
Allows an organizer to compose and send a custom broadcast message organizer
The broadcast message is sent via notification notification
Notification is sent to all entrants in waiting list unless they opted out entrant

OrganizerCommentAdapter

Responsibilities Collaborators
Selects list of comments to be displayed comment
Displays comments on UI OrganizerEventDetailsActivity
Organizers can delete comments organizer

WaitingListMapAcitivty

Responsibilities Collaborators
Displays map of user locations entrant
Retrieves user geolocation from entrantDB entrantDB

AdminUI

AdminDashboardActivity

Responsibilities Collaborators
Main dashboard for admin, list all events and can delete the event eventDB
Sends notifications to entrants and attendees upon cancellation notification
Deletes poster from database poster
Can delete event event

AdminEventAdapter

Responsibilities Collaborators
Displays event on AdminDashboardActivity AdminDashboardActivity
Handles list of events that is displayed, including deleting eventDB

AdminProfileAdapter

Responsibilities Collaborators
Display profiles on AdminDashboardActivity AdminDashboardActivity
Handles list of profiles displayed, including deleting profile

AdminCommentAdapter

Responsibilities Collaborators
Selects list of comments to be displayed comment
Displays comments on UI AdminCommentsActivity
Admins can delete comments Admin

AdminCommentEntry

Responsibilities Collaborators
Retrieves the comment info comment
Associate comment with related event event

AdminCommentsActivity

Responsibilities Collaborators
Admin can browse and delete comments comment

AdminEventBrowseAdapter

Responsibilities Collaborators
Selects list of comments to be browsed event
Displays events on UI AdminEventsActivity

AdminEventsActivity

Responsibilities Collaborators
Displays all events with filters event
Navigate to EventDetailsActivity upon clicking on an event EventDetailsActivity

AdminImageAdapter

Responsibilities Collaborators
Selects list of images to be browsed poster
Displays posters on UI AdminImagesActivity
Admins can delete poster image admin

AdminImagePreviewActivity

Responsibilities Collaborators
Preview of the image poster
Provides remove button that admin can press to delete poster admin
Preserves the event, only poster is removed event

AdminImagesActivity

Responsibilities Collaborators
Displays grid of poster images poster
Displays event details for each poster event
Displays organizer name for each poster's event organizer
Tapping an image redirects admin to AdminImagePreviewActivity AdminImagePreviewActivity

AdminNotificationLogActivity

Responsibilities Collaborators
Shows all notifications notification
Shows organizer who sent each notification notification
Shows who notification was sent to entrant
Shows event associated with the notification event

AdminNotificationLogAdapter

Responsibilities Collaborators
Selects list of notifications to be browsed notification
Displays notifications on UI AdminNotificationLogActivity

AdminProfileBrowseActivity

Responsibilities Collaborators
Admins can browse profiles profile
Redirect to AdminProfileDetailActivity when profile is clicked AdminProfileDetailActivity
The profiles can be filtered

AdminProfileBrowseAdapter

Responsibilities Collaborators
Selects list of profiles to be browsed profile
Displays profile on UI AdminProfileBrowseActivity

AdminProfileDetailActivity

Responsibilities Collaborators
Displays details of specific profile profile
Provides option to remove profile to admin AdminProfileAdapter

AdminProfilesActivity

Responsibilities Collaborators
Display admin's profile profile
Admin can alter their profile information admin