Skip to content

CRC Cards (Part 2)

Sunday edited this page Mar 6, 2024 · 1 revision

User

Responsibilities Collaborators
Base class for users
Admin field is true if admin, false if not
Contains user profile data

Administrator

Responsibilities Collaborators
Extends user class with admin permissions

UserController

Responsibilities Collaborators
Adds a User to the list of users and updates UserDB and

UserProfile

Responsibilities Collaborators
Manage user profile information User
Upload, update, and remove profile pictures User
Generate deterministic profile images User
Allow users to update contact information User

UserDB

Responsibilities Collaborators
Update the values of a user in the Firebase Firestore database UserController
Read the values of a user in the Firebase Firestore database UserDBConnector
Delete a User in the firebase firebase database User

UserDBConnector

Responsibilities Collaborators
Connects to the Firebase Firestore database UserDB

UserDBController

Responsibilities Collaborators
Adds a User to the FireStore UserDB UserDB

Attendee

Responsibilities Collaborators
Extends user class
Contains one event
Can check in at event

Organizer

Responsibilities Collaborators
Extends user class
Contains one event
Can manage the event

Event

Responsibilities Collaborators
Manage event details EventDetails
Track registered attendees AttendanceTracker
Provide event-specific QR codes QRCodeGenerator
Manage schedules (sessions, speakers, timings) Schedule
Hold venue information Venue
Control access based on user permissions User
Send notifications to attendees and organizers NotificationService
Handle event registration and deregistration User
Generate reports for organizers and admins ReportGenerator
Upload and manage event posters EventPoster
Track and display check-in locations on a map GeolocationService
Allow organizers to share QR code images to other apps QRCodeGenerator
Generate unique promotion QR codes linking to event details QRCodeGenerator, EventPoster

EventDB

Responsibilities Collaborators
Update the values of an Event in the Firebase Firestore database EventDBConnector
Read the values of an Event in the Firebase Firestore database Event
Delete an Event in the firebase firebase database

EventDBConnector

Responsibilities Collaborators
Connects to the Firebase Firestore database EventDB

QRCodeGenerator

Responsibilities Collaborators
Generate unique QR codes for events Event
Allow reuse of existing QR codes for events Event
Generate promotion QR codes linking to event details Event

NotificationService

Responsibilities Collaborators
Send notifications to attendees User, Event
Manage subscription to notifications User
Handle push notifications for updates User, Event

AttendanceTracker

Responsibilities Collaborators
Track real-time attendance at events Event, User
Alert organizers about attendance milestones Event, NotificationService
Maintain historical attendance data Event, User

GeolocationService

Responsibilities Collaborators
Track geolocation data for event check-ins User, Event
Provide geolocation-based event verification User, Event
Display map of user check-ins for organizers Event, User

AdminControl

Responsibilities Collaborators
Remove events, profiles, and images Event, UserProfile, EventPoster
Browse events, profiles, and images Event, UserProfile, EventPoster

EventDetails

Responsibilities Collaborators
Provide event details and announcements Event, NotificationService
Manage updates to event information Event

EventsDB

Responsibilities Collaborators
store event objects into firebase database EventsBDconnector
updates event objects into firebase database events
deletes event objects into firebase database

Images

Responsibilities Collaborators
Store URLs to all images present in the app Administrator