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 |