CRC Cards - CMPUT301W24T31/Elevent GitHub Wiki

Part 2: CRC Cards

User

User

Responsibilities Collaborators
Stores user name
Stores user contact information
Stores user profile picture
Stores user homepage

UserDB

Responsibilities Collaborators
Create new User with attributes - name, homepage, contact, profile picture in the Firestore Database UserDBConnector
Update User profile information in the Firestore Database User, UserDBConnector
Read/Write User profile information
Delete User profile information

UserDBConnector

Responsibilities Collaborators
Connects to the Firestore Database UserDB

UserProfileActivity

Responsibilities Collaborators
Displays the user profile information from the storage controller UserProfileController
Displays a button to allow user to edit profile information in UserProfileEditActivity AttendeeProfileEditActivity

UserProfileEditActivity

Responsibilities Collaborators
Displays the user profile information from the storage controller UserProfileController
Allow editing information such as name, homepage, contact information and profile picture User
Allow removal of profile picture User
Upon confirmation or the changes, the changes are sent to the UserProfileController UserProfileController

UserProfileController

Responsibilities Collaborators
Stores all the user profile information(Name,Homepage,Contact,Profile Picture) UserDB
Gets the most updated information of User profile information UserDB
Notify UserDB of changes made in UserProfileEditActivity UserDB, UserProfileEditActivity
Notify UserProfileActivity of edits made UserProfileActivity, UserDB
Removes Profile picture when users requests it UserDB, UserProfileEditActivity
Notifies User class of changes made to User profile information User, UserDB

AdminActivity

Responsibilities Collaborators
Allows an admin user to see all event posted by organisers Event
Browse images of events Event
Browse user profiles UserDB
Delete images Event
Delete user profiles UserDB, UserDBConnector
Delete events posted by organisers EventDB, EventDBConnector

Event

Event

Responsibilities Collaborators
Stores event name
Stores event location
Stores event promotional QR
Stores event attendance QR
Stores current AttendeesCount
Stores event poster

EventActivity

Responsibilities Collaborators
Displays information about the event(Poster,QRCode,Name,Location) Event
Allows Organizer to enable or disable geolocation tracking for an event (essentially enable a map)
Displays the most recent notification as a pop-up

EventDB

Responsibilities Collaborators
Creates new event with attributes - name, location, poster, promotionalQR, attendanceQR,attendeesCount Event, MyEventActivity
Read/Write Event information EventActivity
Delete Event
Update UserCount
Stores generated and existing QR codes for event specific QRs (Check-in QR and promotion QR) QRClass

EventDBConnector

Responsibilities Collaborators
Connects to the Firestore Database EventDB

Home

HomeActivity

Responsibilities Collaborators
Displays all events user is participating in
User can select an event to view details about it EventActivity
Button to sort events by all/favourites
Button to allow user to view all available events
Navigation bar to allow user to return to HomeActivity, MyEventActivity or ProfileActivity MyEventActivity, ProfileActivity

MyEvent

MyEventActivity

Responsibilities Collaborators
Displays all events created by the user EventDB
Displays option to edit edited by the user MyEventEditActivity
Displays an option to add an event (the user creates a new activity MyEventAddActivity
Display an option to the user to delete an event they created
Displays a Notification Centre button for organisers to view event metrics MyEventNotificationFragment

MyEventNotificationFragment

Responsibilities Collaborators
Displays real-time attendance and alerts for important milestones EventDB
Button for organiser to push a notification to attendees

MyEventAddActivity

Responsibilities Collaborators
Takes input from the user to create an event
Stores information(name, location, poster, event type) on users event EventDB
Attaches and stores a promotional QR and check-in QR QRClass
Allow user to generate promotional QR or add existing QR code QRClass
Allows user to generate check-in QR or add an existing QR code QRClass
Allow user to add an existing QR code to check in QRClass

MyEventEditActivity

Responsibilities Collaborators
Allows the user to edit information about an event they created EventDB
Allow user to change check in QR code QRClass, EventDB

QR

QRClass

Responsibilities Collaborators
Generates a Check-in QR user when a user wants to check in to an event and a promotional QR for a created event EventDB