Skip to content

CRC Cards: part 4

JayCCC_ edited this page Dec 2, 2024 · 1 revision

Entrant

Responsibilities Collaborators
Manage personal profile information (name, email, phone, profile picture). EventManager
Join or leave event waiting lists. NotificationManager
Handle notification preferences. Device
Receive and manage notifications about events.
Authenticate via device (avoid username/password).

Admin

Responsibilities Collaborators
Manage and delete events, profiles, images and QR codes EventManager
Oversee facility compliance and handle non-compliant removals. FacilityManager
Browse and manage content across the platform. Database

EventManager

Responsibilities Collaborators
Manage joining and leaving the waiting list. EventManager
Handle re-selection opportunities. PoolingSystem

NotificationManager

Responsibilities Collaborators
Send notifications to entrants and organizers based on their preferences. Entrant
Support bulk notifications for waiting list updates, selections and cancellations. EventManager

FacilityManager

Responsibilities Collaborators
Manage facilities and ensure policy compliance. Admin
Allow administrators to remove non-compliant facilities. Database

Database

Responsibilities Collaborators
Store and retrieve data for events, entrants, notifications and facilities. EventManager
Maintain data integrity and support secure storage of sensitive information. FacilityManager
Admin

Center

Responsibilities Collaborators
Manages information about the center, including name, address, Event
facility ID, and organizer ID. Facility

Event

Responsibilities Collaborators
Manages event details such as name, date, time, location, price, and maximum number of participants. Center
Supports geolocation requirements and associations with facilities/organizers. Facility
Orglist

Facility

Responsibilities Collaborators
Stores and manages facility information, including name, address, and unique ID. Center
Event

NotificationModel

Responsibilities Collaborators
Manages notification details such as title, message, status, unique ID, and timestamp for display and management. --

OrgNotification

Responsibilities Collaborators
Manages organizer-specific notifications, including title, message, notification ID, and date. NotificationModel

User

Responsibilities Collaborators
Manages user profile details, including name, email, contact information, avatar URL, device info, and unique ID. orgList
Provides access to full name and other attributes. Event

UserLocation

Responsibilities Collaborators
Manages user location details, including name, address, latitude, longitude, and timestamp. user
Provides formatted name and coordinates.

orgList

Responsibilities Collaborators
Manages the relationship between organizers and events using user ID and event ID. User
Event

MyFirebaseMessagingService

Responsibilities Collaborators
Handles incoming Firebase Cloud Messaging (FCM) notifications and token management. FirebaseAuth
Processes notification data, saves tokens to Firestore, and displays notifications on the device. FirebaseFirestore
FirebaseMessaging

UserTokenManager

Responsibilities Collaborators
Manages Firebase Cloud Messaging (FCM) tokens and user IDs. FirebaseAuth
Handles local storage and retrieval of these values using SharedPreferences. FirebaseMessaging

AdminConfirmEventDeleteFragment

Responsibilities Collaborators
Displays a confirmation dialog for deleting an event. AdminEventScreen
Calls the deleteEvent method of its listener when confirmed.

AdminConfirmFacilityDeleteFragment

Responsibilities Collaborators
Displays a confirmation dialog for deleting a facility. Admin-related components
Calls the deleteFacility method of its listener when confirmed.

AdminConfirmUserDeleteFragment

Responsibilities Collaborators
Displays a confirmation dialog for deleting a user. Admin-related components
Calls the deleteUser method of its listener when confirmed.

AdminEventArrayAdapter

Responsibilities Collaborators
Custom adapter for displaying a list of events in an admin interface. Event
Loads and formats event data and images. Glide

AdminEventInfoScreen

Responsibilities Collaborators
Displays detailed information about a specific event, retrieved dynamically from Firestore. Event
Includes navigation buttons. FirebaseFirestore

AdminEventScreen

Responsibilities Collaborators
Displays a list of events in a facility, retrieved dynamically from Firestore. Event
Supports viewing, editing, and deleting events. FirebaseFirestore
AdminEventArrayAdapter

AdminFacilityArrayAdapter

Responsibilities Collaborators
Custom adapter for displaying a list of facilities in an admin interface. Center
Loads and formats facility data. Android UI

AdminFacilityScreen

Responsibilities Collaborators
Displays a list of facilities retrieved from Firestore. Center
Allows viewing facility details and deleting facilities. AdminFacilityArrayAdapter
FirebaseFirestore

AdminMainscreen

Responsibilities Collaborators
Main navigation screen for the admin role, linking to various admin functionalities (profile, facilities, etc.). AdminProfileScreen
AdminFacilityScreen
MainActivity

AdminProfileScreen

Responsibilities Collaborators
Displays a list of user profiles retrieved from Firestore. User
Allows viewing user details. AdminUserArrayAdapter
FirebaseFirestore

AdminProfileViewer

Responsibilities Collaborators
Displays detailed information about a specific user profile. User
Supports deleting the user from Firestore. AdminConfirmUserDeleteFragment
FirebaseFirestore

AdminUserArrayAdapter

Responsibilities Collaborators
Custom adapter for displaying a list of users in an admin interface. User
Loads and formats user profile data. Glide
Android UI

CancelledEntrantsActivity

Responsibilities Collaborators
Displays a list of users who cancelled their participation in an event, fetched from Firestore. User
Loads and formats user profile data. FirebaseFirestore
CancelledEntrantAdapter

EntrantActivity

Responsibilities Collaborators
Main screen for entrants, displaying a list of events, Event
allowing navigation via bottom navigation, and supporting QR code scanning. ZXing (QR Code Scanner)
EntrantEventAdapter
FirebaseFirestore

FinalEntrantsActivity

Responsibilities Collaborators
Displays a list of users who are final participants in an event, fetched from Firestore. User
FirebaseFirestore
FinalEntrantAdapter

SelectedEntrantsActivity

Responsibilities Collaborators
Displays a list of users selected for participation in an event. User
Allows initiating a draw process. SelectedEntrantAdapter

AddEvent

Responsibilities Collaborators
Handles event creation and updating, including field inputs and image uploads. FirebaseFirestore
Allows initiating a draw process. FirebaseStorage
Glide

EventInfoActivity

Responsibilities Collaborators
Displays event details (name, time, location, etc.) and allows users to join a waiting list. FirebaseFirestore
Allows initiating a draw process. EntrantActivity

ManageEventsActivity

Responsibilities Collaborators
Lists events where the user is waitlisted or canceled, and provides unjoin functionality with confirmation. FirebaseFirestore
EventListAdapter

CreateFacilityActivity

Responsibilities Collaborators
Enables the creation of a new facility by collecting and validating user inputs, saving data in Firestore. FirebaseFirestore

EditFacilityActivity

Responsibilities Collaborators
Allows editing of existing facility details and updates Firestore with the changes. FirebaseFirestore

MyFacilityActivity

Responsibilities Collaborators
Displays a list of facilities owned by the organizer and provides options to edit or create facilities. FirebaseFirestore
FacilityAdapter

EntrantLocationDetailActivity

Responsibilities Collaborators
Displays detailed location data (name, address, timestamp) and shows the location on a Google Map. GoogleMap
LatLng
MarkerOptions
Intent

LocationActivity

Responsibilities Collaborators
Displays a list of users' locations participating in a specific event fetched from Firestore. FirebaseFirestore
RecyclerView
LocationAdapter

NotificationDetailActivity

Responsibilities Collaborators
Displays detailed information about a specific notification, including title, message, and timestamp. TextView
Intent

NotificationsActivity

Responsibilities Collaborators
Fetches and displays a list of notifications in a RecyclerView and allows interaction with individual notifications. FirebaseFirestore
NotificationAdapter
Intent

OrganizerActivity

Responsibilities Collaborators
Displays a list of events organized by the user, FirebaseFirestore
provides options to add events or manage facilities, OrgEventAdapter
and ensures a default facility exists. Intent

OrganizerInfo

Responsibilities Collaborators
Displays detailed information about a specific event FirebaseFirestore
and allows editing the event details or navigating back to the organizer menu. Glide
and ensures a default facility exists. Intent

OrganizerMenu

Responsibilities Collaborators
Central hub for managing an event, providing navigation to features like waiting lists, FirebaseFirestore
QR codes, entrants, notifications, and location management. FloatingActionButton
Intent

OrgCreateNotificationActivity

Responsibilities Collaborators
Allows the user to create and send notifications for an event. FirebaseFirestore
Notifications include title, content, type, and timestamp. UUID
Spinner

OrgNotificationDetailsActivity

Responsibilities Collaborators
Displays details of a selected notification and provides an option to delete it. FirebaseFirestore
Button
Intent

OrgNotificationsActivity

Responsibilities Collaborators
Displays a list of notifications for a specific event, fetched from Firestore, FirebaseFirestore
and provides an option to create new notifications or view details of existing ones. OrgNotificationAdapter
Intent

EditProfileActivity

Responsibilities Collaborators
Allows users to edit their profile details, FirebaseFirestore
upload/change their avatar, and save updates to Firestore FirebaseStorage
Glide
PopupMenu
Intent

ProfileActivity

Responsibilities Collaborators
Displays user profile details, FirebaseFirestore
loads data from Firestore, and initializes default profile data if not available. FirebaseStorage
Glide
BottomNavigationView
Intent

CustomScannerActivity

Responsibilities Collaborators
Customizes the QR code scanner view and handles the scanning process using CaptureManager. CaptureManager
loads data from Firestore, and initializes default profile data if not available. DecoratedBarcodeView

OrgQRCodeActivity

Responsibilities Collaborators
QR code for a given event ID, using ZXing's BitMatrix for QR code creation. BitMatrix
loads data from Firestore, and initializes default profile data if not available. MultiFormatWriter
Intent

QrScannerActivity

Responsibilities Collaborators
Handles scanning QR codes and redirects to the relevant activity with scanned content. IntentIntegrator
loads data from Firestore, and initializes default profile data if not available. Intent
EventInfoActivity

OrgWaitingListActivity

Responsibilities Collaborators
Displays a list of users in the waiting list for a specific event, FirebaseFirestore
allows for random selection of users, and stores selected users. RecyclerView
OrgWaitingListAdapter
Intent

MainActivity

Responsibilities Collaborators
Serves as the main entry point to the app, FirebaseFirestore
provides role selection (Entrant, Organizer, Admin), and initializes default user profiles in Firestore. Toast
Intent

Clone this wiki locally