Part 2: CRC Cards - CMPUT301W24T38/Collatz301 GitHub Wiki

Organizer:

Event

Responsibilities Collaborators
Keeps event title
Keeps organizer Organizer
Keeps event date
Keeps event description
Keeps event poster
Keeps limit on event signups

OrganizerFragment

Responsibilities Collaborators
Display a list of attendees who have checked in OrganizerStorageController
Display who is signed up to attend my event AttendeeStorageController
Display event poster Event
Display where users are checking in from Geolocation
Display how many times an attendee has checked into an event

OrganizerEventFragment

Responsibilities Collaborators
Create a new event OrganizerStorageController
Limit the number of attendees that can sign up for an event Event

QRGenerator

Responsibilities Collaborators
Holds a unique QR code

OrganizerQREditFragment

Responsibilities Collaborators
Generate a unique QR code for an event Event
Give option to reuse QR code QRGenerator

OrganizerNotificationManager

Responsibilities Collaborators
Send notifications to all attendees through the app AttendeeStorageController
Receive alerts for important milestones AttendeeNotificationManager

OrganizerStorageController

Responsibilities Collaborators
Store event details Event
Get most current attendee list EventDB
Link event, unique promotion QR code, event description, and event poster AttendeeStorageController
QRGenerator

EventDB

Responsibilities Collaborators
Create new events with unique promotion QR code, event description, and event poster EventDBConnector
Update attendee list AttendeeStorageController
Update events OrganizerStorageController

EventDBConnector

Responsibilities Collaborators
Connects to the Firebase Firestore database EventDB

Attendee:

User

Responsibilities Collaborators
Keep name
Keep homepage
Keep contact information
Keep profile picture
Keeps track if user has organized an event

AttendeeStatus

Responsibilities Collaborators
Manage and track current check-in status
Manage and track event signups OrganizerStorageController

SigninFragment

Responsibilities Collaborators
Check in to an event by scanning QR code QRScanner
View event details and announcements
Browse event posters/event details of other events OrganizerStorageController
Display registered event current and present AttendeeStatus
Sign up to attend an event from the event details
See what events I have signed up for AttendeeStorageController

ProfileEditActivity

Responsibilities Collaborators
Upload a profile picture ProfilePictureGenerator
Remove profile pictures
Update information such as name, homepage, and contact information AttendeeStorageController

ProfilePictureGenerator

Responsibilities Collaborators
Generate and set default profile picture based on profile name User

AttendeeNotificationManager

Responsibilities Collaborators
Receive push notifications with important updates from the event organizers OrganizerNotificationManager

AttendeeStorageController

Responsibilities Collaborators
Store profile details User
Get events signed up for AttendeeStatus

AttendeeDB

Responsibilities Collaborators
Create profile AttendeeStorageController
Update information such as name, homepage, and contact information on profile
Remove profile pictures

AttendeeDBConnector

Responsibilities Collaborators
Connects to the Firebase Firestore database AttendeeDB

Administrator:

AdministratorActivity

Responsibilities Collaborators
Browse events AdministratorDB
Browse profiles
Browse images

AdministratorFragment

Responsibilities Collaborators
Remove events AdministratorDB
Remove profiles
Remove images

AdministratorDB

Responsibilities Collaborators
Get all events EventDB
Get all profiles AttendeeDB
Get all images ImageDB

AdministratorDBConnector

Responsibilities Collaborators
Connects to the Firebase Firestore database AdministratorDB

Geolocation:

GeolocationFragment

Responsibilities Collaborators
Enable or disable geolocation tracking for event verification GeolocationDB

GeolocationDB

Responsibilities Collaborators
Get geolocation tracking for events EventDB

GeolocationDBConnector

Responsibilities Collaborators
Connects to the Firebase Firestore database GeolocationDB

Images:

ImageDB

Responsibilities Collaborators
Create lists for event posters and profile pictures
Updates event poster list EventDB
Updates profile picture list AttendeeDB

ImageDBConnector

Responsibilities Collaborators
Connects to the Firebase Firestore database ImageDB

Check-in:

QRScanner

Responsibilities Collaborators
Checks attendee in to event (increments check in count) AttendeeStatus
Sends new check in to EventDB EventDB