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 |