Coder Social home page Coder Social logo

cmput301w24t30 / scanpal Goto Github PK

View Code? Open in Web Editor NEW
3.0 0.0 0.0 6.14 MB

๐Ÿ˜Ž ScanPal - The #1 Event Management App fr

License: MIT License

Java 26.93% HTML 69.39% JavaScript 2.10% CSS 1.59%
android cmput301 firebase java material-ui ualberta event-management scanpal team30 winter24

scanpal's Introduction

ScanPal

ScanPal is not your average event management app. Offering a modern UI, unique user experience, cloud functionality, and built-in QR scanning amongst other exciting features, ScanPal is the perfect companion to help you meet all your event management needs!

๐Ÿ“š Project Resources

Usage

Download the Latest APK from Releases and install it on your Android device.

Demo

ScanPal Demo Video

scanpal's People

Contributors

adviislam10 avatar dependabot[bot] avatar logan9312 avatar nandan-18 avatar rustyrustacean avatar sundance636 avatar yifeng15 avatar

Stargazers

 avatar  avatar  avatar

scanpal's Issues

QR Code scanner

US 02.01.01 As an attendee, I want to quickly check into an event by scanning the provided QR code.

Generate QR Code linking to event page

US 01.07.01 As an organizer, I want to create a new event and generate a unique promotion QR code that links to the event description and event poster in the app.

Update CRC Cards

Update CRC Cards with new data from our project.

AC:

  • Inconsistent behavior between cards: Ex: Some cards still use permission level enum which we decided not to do, while other cards have the admin bool.
  • Ensure collaborators are correct. Some were Missing or incorrect.
  • Put a (Deprecated) tag on CRC cards that we do not plan to use and move them to the bottom of the page. For example we are not using UserDBConnector because we have UserController doing all of the database stuff now.

Create UI Mockups and Storyboard

AC:

  • cover all user-story requirements
  • should consider the difference in flow b/w "users" and "admin"
  • all user interactions should be part of the flow

UML Diagram

From Project Part 3

  • Document your object-oriented design using a UML class diagram (or diagrams), including details on key attributes and methods. Add notes as appropriate to clarify. The diagram(s) will likely evolve.

Allow User to Delete/Reset Account

Issue Description

Add functionality to let a user delete/reset their account. After deletion, they should be redirected to the signup screen to create a new account.

Acceptance Criteria:

  • Delete/Reset button on profile page
  • Route to events page directly if user exists on device already
  • Remove user instance from internal storage and firebase
  • If user is an attendee, remove attendee (1)
  • If user is an organizer, remove all organized events (2)

Notes:

  1. User can be an attendee for multiple events
  2. User can be an organizer and an attendee at the same time

Reorganize Codebase

Issue Description

Sort the files into folders for easier organization

Acceptance Criteria:

  • Callbacks
  • Fragments
  • Models
  • Controllers

Init Android Project

  • initialize barebones android app
  • make sure build configs aren't broken
  • needs testing on multiple devices

Limit number of attendees that can sign up

Issue Description

As an organizer, I want to OPTIONALLY limit the number of attendees that can sign up for an event.

Acceptance Criteria:

  • Ensure the max attendees gets uploaded to documents as well
  • Need to track how many people are already signed up
  • do a check when pressing RVSP/sign up button
  • dispay toast message if the event is full
  • make sure the button doesn't change colour

Update Figma template with feedback from TA

  • Should show which data is being transferred between screens. Ex: From Signup -> Role select the user data is sent
  • Arrows should be clearer, some of our arrows overlap each other. We should put screens that flow into each other closer.
  • Make it more obvious which screens are admin visible, user visible, organizer visible, or all visible.

Ensure proper refinement of Issues

This is feedback from Samuel. The issues should be constructed into more actionable items, rather than just a title and description.

The Acceptance Criteria for this issue is to ensure that the existing issues follow a similar refinement.

For example:

This is an example of a refined issue.

A good issue will show a clear title, as well as a description with AC (Acceptance Criteria) points listed for completion.

Issue 1: Implement Foo and Bar functions

User Story: As a User we want to implement Foo and Bar to have some functionality

AC:

  • Foo completes action X
  • Bar completes action Y
  • Foo returns variable Z and then Bar is called

This is an example of an unrefined issue.

No actionable items and title is not refined

Issue 2: User Story: As a User we want to implement Foo and Bar to have some functionality

User Story: As a User we want to implement Foo and Bar to have some functionality

Push notifications for event announcements

Issue Description

"As an attendee, I want to receive push notifications with important updates from the event organizers."
add a feature that allows organizers to send out notifications in real time for their attendees/administrators

Acceptance Criteria:

  • the organizer of an event should have an option to write up and then send an announcement
  • the announcements should pop up and be seen by all administrators and any attendees specific to that event
  • send the same truncated push notification the user's device (New announcement from "Event Name")
  • option to turn off notifications?

Notes:

Will probably have to change the UI a bit to accommodate organizers sending announcements

Track how many times a user has checked in

Issue Description

"As an organizer, I want to see how many times an attendee has checked into an event."

Acceptance Criteria:

  • add a check-in count field to the attendee objects, increment it when there is a successful scan
  • Make the list of attendees that is accessible from event details clickable
  • When clicked, an alertDialog box with the user's name and/or name, shows along with check-in count
  • option for 'optionally' limiting number of attendees

Notes:

Errors causing app to crash

Issue

I am not sure if all of these errors are related, but the Chimera one for sure is causing issues, we need to look into what's causing them and fix it so our app can run properly.

Image
Image
Image
Image
Image

How To Replicate

Launch the app and try signing in as a new user

Full Logs below

Details

2024-03-05 10:55:15.550  8535-8535  example.scanpal         com.example.scanpal                  I  Late-enabling -Xcheck:jni
2024-03-05 10:55:15.649  8535-8535  example.scanpal         com.example.scanpal                  I  Using CollectorTypeCC GC.
2024-03-05 10:55:15.656  8535-8535  example.scanpal         com.example.scanpal                  W  Unexpected CPU variant for x86: x86_64.
                                                                                                    Known variants: atom, sandybridge, silvermont, goldmont, goldmont-plus, tremont, kabylake, default
2024-03-05 10:55:15.885  8535-8535  re-initialized>         com.example.scanpal                  W  type=1400 audit(0.0:472): avc:  granted  { execute } for  path="/data/data/com.example.scanpal/code_cache/startup_agents/13682499-agent.so" dev="dm-39" ino=320973 scontext=u:r:untrusted_app:s0:c182,c256,c512,c768 tcontext=u:object_r:app_data_file:s0:c182,c256,c512,c768 tclass=file app=com.example.scanpal
2024-03-05 10:55:15.901  8535-8535  example.scanpal         com.example.scanpal                  W  DexFile /data/data/com.example.scanpal/code_cache/.studio/instruments-23bb1108.jar is in boot class path but is not in a known location
2024-03-05 10:55:15.922  8535-8535  example.scanpal         com.example.scanpal                  W  Current dex file has more than one class in it. Calling RetransformClasses on this class might fail if no transformations are applied to it!
2024-03-05 10:55:15.927  8535-8535  example.scanpal         com.example.scanpal                  W  Current dex file has more than one class in it. Calling RetransformClasses on this class might fail if no transformations are applied to it!
2024-03-05 10:55:15.931  8535-8535  example.scanpal         com.example.scanpal                  W  Redefining intrinsic method java.lang.Thread java.lang.Thread.currentThread(). This may cause the unexpected use of the original definition of java.lang.Thread java.lang.Thread.currentThread()in methods that have already been compiled.
2024-03-05 10:55:15.931  8535-8535  example.scanpal         com.example.scanpal                  W  Redefining intrinsic method boolean java.lang.Thread.interrupted(). This may cause the unexpected use of the original definition of boolean java.lang.Thread.interrupted()in methods that have already been compiled.
2024-03-05 10:55:15.939  8535-8535  example.scanpal         com.example.scanpal                  W  Current dex file has more than one class in it. Calling RetransformClasses on this class might fail if no transformations are applied to it!
2024-03-05 10:55:15.953  8535-8535  example.scanpal         com.example.scanpal                  W  Current dex file has more than one class in it. Calling RetransformClasses on this class might fail if no transformations are applied to it!
2024-03-05 10:55:15.961  8535-8535  example.scanpal         com.example.scanpal                  W  Current dex file has more than one class in it. Calling RetransformClasses on this class might fail if no transformations are applied to it!
2024-03-05 10:55:15.970  8535-8535  Compatibil...geReporter com.example.scanpal                  D  Compat change id reported: 171979766; UID 10182; state: ENABLED
2024-03-05 10:55:15.970  8535-8535  Compatibil...geReporter com.example.scanpal                  D  Compat change id reported: 242716250; UID 10182; state: ENABLED
2024-03-05 10:55:16.009  8535-8535  nativeloader            com.example.scanpal                  D  Configuring clns-6 for other apk /system/framework/org.apache.http.legacy.jar. target_sdk_version=34, uses_libraries=ALL, library_path=/data/app/~~wHAfV6cKOs0DeoPzweZW9g==/com.example.scanpal-IbYe2fVdxeBidNuZZFvw6w==/lib/x86_64, permitted_path=/data:/mnt/expand:/data/user/0/com.example.scanpal
2024-03-05 10:55:16.010  8535-8535  ApplicationLoaders      com.example.scanpal                  D  Returning zygote-cached class loader: /system_ext/framework/androidx.window.extensions.jar
2024-03-05 10:55:16.011  8535-8535  ApplicationLoaders      com.example.scanpal                  D  Returning zygote-cached class loader: /system_ext/framework/androidx.window.sidecar.jar
2024-03-05 10:55:16.014  8535-8535  ziparchive              com.example.scanpal                  W  Unable to open '/data/app/~~wHAfV6cKOs0DeoPzweZW9g==/com.example.scanpal-IbYe2fVdxeBidNuZZFvw6w==/base.dm': No such file or directory
2024-03-05 10:55:16.014  8535-8535  ziparchive              com.example.scanpal                  W  Unable to open '/data/app/~~wHAfV6cKOs0DeoPzweZW9g==/com.example.scanpal-IbYe2fVdxeBidNuZZFvw6w==/base.dm': No such file or directory
2024-03-05 10:55:16.459  8535-8535  nativeloader            com.example.scanpal                  D  Configuring clns-7 for other apk /data/app/~~wHAfV6cKOs0DeoPzweZW9g==/com.example.scanpal-IbYe2fVdxeBidNuZZFvw6w==/base.apk. target_sdk_version=34, uses_libraries=, library_path=/data/app/~~wHAfV6cKOs0DeoPzweZW9g==/com.example.scanpal-IbYe2fVdxeBidNuZZFvw6w==/lib/x86_64, permitted_path=/data:/mnt/expand:/data/user/0/com.example.scanpal
2024-03-05 10:55:16.507  8535-8535  GraphicsEnvironment     com.example.scanpal                  V  Currently set values for:
2024-03-05 10:55:16.507  8535-8535  GraphicsEnvironment     com.example.scanpal                  V    angle_gl_driver_selection_pkgs=[]
2024-03-05 10:55:16.507  8535-8535  GraphicsEnvironment     com.example.scanpal                  V    angle_gl_driver_selection_values=[]
2024-03-05 10:55:16.508  8535-8535  GraphicsEnvironment     com.example.scanpal                  V  ANGLE GameManagerService for com.example.scanpal: false
2024-03-05 10:55:16.508  8535-8535  GraphicsEnvironment     com.example.scanpal                  V  com.example.scanpal is not listed in per-application setting
2024-03-05 10:55:16.508  8535-8535  GraphicsEnvironment     com.example.scanpal                  V  Neither updatable production driver nor prerelease driver is supported.
2024-03-05 10:55:16.616  8535-8535  Compatibil...geReporter com.example.scanpal                  D  Compat change id reported: 183155436; UID 10182; state: ENABLED
2024-03-05 10:55:16.695  8535-8535  FirebaseApp             com.example.scanpal                  I  Device unlocked: initializing all Firebase APIs for app [DEFAULT]
2024-03-05 10:55:16.702  8535-8535  Compatibil...geReporter com.example.scanpal                  D  Compat change id reported: 3400644; UID 10182; state: ENABLED
2024-03-05 10:55:16.735  8535-8535  FirebaseInitProvider    com.example.scanpal                  I  FirebaseApp initialization successful
2024-03-05 10:55:16.866  8535-8565  libEGL                  com.example.scanpal                  D  loaded /vendor/lib64/egl/libEGL_emulation.so
2024-03-05 10:55:16.904  8535-8565  libEGL                  com.example.scanpal                  D  loaded /vendor/lib64/egl/libGLESv1_CM_emulation.so
2024-03-05 10:55:16.919  8535-8565  libEGL                  com.example.scanpal                  D  loaded /vendor/lib64/egl/libGLESv2_emulation.so
2024-03-05 10:55:17.050  8535-8535  AppCompatDelegate       com.example.scanpal                  D  Checking for metadata for AppLocalesMetadataHolderService : Service not found
2024-03-05 10:55:17.222  8535-8535  example.scanpal         com.example.scanpal                  W  Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (unsupported, reflection, allowed)
2024-03-05 10:55:17.222  8535-8535  example.scanpal         com.example.scanpal                  W  Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (unsupported, reflection, allowed)
2024-03-05 10:55:17.635  8535-8535  Compatibil...geReporter com.example.scanpal                  D  Compat change id reported: 210923482; UID 10182; state: ENABLED
2024-03-05 10:55:17.819  8535-8535  Compatibil...geReporter com.example.scanpal                  D  Compat change id reported: 237531167; UID 10182; state: DISABLED
2024-03-05 10:55:17.823  8535-8535  OpenGLRenderer          com.example.scanpal                  W  Unknown dataspace 0
2024-03-05 10:55:17.835  8535-8535  Choreographer           com.example.scanpal                  I  Skipped 60 frames!  The application may be doing too much work on its main thread.
2024-03-05 10:55:17.941  8535-8563  OpenGLRenderer          com.example.scanpal                  W  Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
2024-03-05 10:55:17.941  8535-8563  OpenGLRenderer          com.example.scanpal                  W  Failed to initialize 101010-2 format, error = EGL_SUCCESS
2024-03-05 10:55:18.018  8535-8563  Gralloc4                com.example.scanpal                  I  mapper 4.x is not supported
2024-03-05 10:55:18.062  8535-8563  OpenGLRenderer          com.example.scanpal                  E  Unable to match the desired swap behavior.
2024-03-05 10:55:18.158  8535-8552  OpenGLRenderer          com.example.scanpal                  I  Davey! duration=1327ms; Flags=1, FrameTimelineVsyncId=65905, IntendedVsync=435953220400, Vsync=436953220360, InputEventId=0, HandleInputStart=436968508300, AnimationStart=436968700500, PerformTraversalsStart=436969728400, DrawStart=437194878200, FrameDeadline=435969887066, FrameInterval=436967408300, FrameStartTime=16666666, SyncQueued=437218958900, SyncStart=437225371300, IssueDrawCommandsStart=437226323900, SwapBuffers=437280378000, FrameCompleted=437287226200, DequeueBufferDuration=22000, QueueBufferDuration=250100, GpuCompleted=437287226200, SwapBuffersCompleted=437282709900, DisplayPresentTime=0, CommandSubmissionCompleted=437280378000, 
2024-03-05 10:55:21.976  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=535.02ms min=1.71ms max=3648.03ms count=7
2024-03-05 10:55:22.070  8535-8535  Compatibil...geReporter com.example.scanpal                  D  Compat change id reported: 163400105; UID 10182; state: ENABLED
2024-03-05 10:55:22.071  8535-8535  ImeTracker              com.example.scanpal                  I  com.example.scanpal:e96973aa: onRequestShow at ORIGIN_CLIENT_SHOW_SOFT_INPUT reason SHOW_SOFT_INPUT
2024-03-05 10:55:22.072  8535-8535  InputMethodManager      com.example.scanpal                  D  showSoftInput() view=androidx.appcompat.widget.AppCompatEditText{9e44698 VFED..CL. .F.P..ID 110,592-971,705 #7f08004f app:id/addUsername aid=1073741824} flags=0 reason=SHOW_SOFT_INPUT
2024-03-05 10:55:22.095  8535-8535  AssistStructure         com.example.scanpal                  I  Flattened final assist data: 2272 bytes, containing 1 windows, 11 views
2024-03-05 10:55:22.385  8535-8535  InsetsController        com.example.scanpal                  D  show(ime(), fromIme=true)
2024-03-05 10:55:22.430  8535-8595  InteractionJankMonitor  com.example.scanpal                  D  Build configuration failed!
                                                                                                    java.lang.IllegalArgumentException: Must pass in a valid surface control if only instrument surface; 
                                                                                                    	at com.android.internal.jank.InteractionJankMonitor$Configuration.validate(InteractionJankMonitor.java:1259)
                                                                                                    	at com.android.internal.jank.InteractionJankMonitor$Configuration.<init>(InteractionJankMonitor.java:1217)
                                                                                                    	at com.android.internal.jank.InteractionJankMonitor$Configuration.<init>(Unknown Source:0)
                                                                                                    	at com.android.internal.jank.InteractionJankMonitor$Configuration$Builder.build(InteractionJankMonitor.java:1197)
                                                                                                    	at com.android.internal.jank.InteractionJankMonitor.begin(InteractionJankMonitor.java:611)
                                                                                                    	at android.view.inputmethod.ImeTracker$ImeJankTracker.onRequestAnimation(ImeTracker.java:717)
                                                                                                    	at android.view.InsetsController$InternalAnimationControlListener$2.onAnimationStart(InsetsController.java:448)
                                                                                                    	at android.animation.Animator$AnimatorListener.onAnimationStart(Animator.java:695)
                                                                                                    	at android.animation.Animator$AnimatorCaller$$ExternalSyntheticLambda0.call(Unknown Source:4)
                                                                                                    	at android.animation.Animator.callOnList(Animator.java:669)
                                                                                                    	at android.animation.Animator.notifyListeners(Animator.java:608)
                                                                                                    	at android.animation.Animator.notifyStartListeners(Animator.java:625)
                                                                                                    	at android.animation.ValueAnimator.startAnimation(ValueAnimator.java:1334)
                                                                                                    	at android.animation.ValueAnimator.start(ValueAnimator.java:1149)
                                                                                                    	at android.animation.ValueAnimator.start(ValueAnimator.java:1173)
                                                                                                    	at android.view.InsetsController$InternalAnimationControlListener.onReady(InsetsController.java:470)
                                                                                                    	at android.view.InsetsAnimationThreadControlRunner.lambda$new$0(InsetsAnimationThreadControlRunner.java:129)
                                                                                                    	at android.view.InsetsAnimationThreadControlRunner.$r8$lambda$3zGKYd3XPzPnvMO2hiF8a88M6T0(Unknown Source:0)
                                                                                                    	at android.view.InsetsAnimationThreadControlRunner$$ExternalSyntheticLambda2.run(Unknown Source:6)
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:958)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:205)
                                                                                                    	at android.os.Looper.loop(Looper.java:294)
                                                                                                    	at android.os.HandlerThread.run(HandlerThread.java:67)
2024-03-05 10:55:22.624  8535-8535  ImeTracker              com.example.scanpal                  I  com.example.scanpal:e96973aa: onShown
2024-03-05 10:55:23.020  8535-8593  ActivityThread          com.example.scanpal                  E  Failed to find provider info for com.google.android.gms.fonts
2024-03-05 10:55:23.060  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=271.03ms min=21.52ms max=476.84ms count=4
2024-03-05 10:55:23.619  8535-8617  ProfileInstaller        com.example.scanpal                  D  Installing profile for com.example.scanpal
2024-03-05 10:55:24.078  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=508.80ms min=498.92ms max=518.67ms count=2
2024-03-05 10:55:25.575  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=498.66ms min=497.87ms max=499.24ms count=3
2024-03-05 10:55:26.586  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=336.91ms min=51.08ms max=500.30ms count=3
2024-03-05 10:55:27.649  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=117.80ms min=14.66ms max=225.19ms count=9
2024-03-05 10:55:28.495  8535-8535  AssistStructure         com.example.scanpal                  I  Flattened final assist data: 2344 bytes, containing 1 windows, 11 views
2024-03-05 10:55:28.497  8535-8535  WindowOnBackDispatcher  com.example.scanpal                  W  sendCancelIfRunning: isInProgress=falsecallback=ImeCallback=ImeOnBackInvokedCallback@210734941 Callback=android.window.IOnBackInvokedCallback$Stub$Proxy@efaa737
2024-03-05 10:55:28.564  8535-8535  InsetsController        com.example.scanpal                  D  show(ime(), fromIme=true)
2024-03-05 10:55:28.564  8535-8535  ImeTracker              com.example.scanpal                  I  com.example.scanpal:ca435239: onCancelled at PHASE_CLIENT_APPLY_ANIMATION
2024-03-05 10:55:28.659  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=91.78ms min=35.28ms max=228.43ms count=11
2024-03-05 10:55:28.676  8535-8535  AssistStructure         com.example.scanpal                  I  Flattened final assist data: 2344 bytes, containing 1 windows, 11 views
2024-03-05 10:55:28.681  8535-8535  WindowOnBackDispatcher  com.example.scanpal                  W  sendCancelIfRunning: isInProgress=falsecallback=ImeCallback=ImeOnBackInvokedCallback@210734941 Callback=android.window.IOnBackInvokedCallback$Stub$Proxy@fc20d
2024-03-05 10:55:28.694  8535-8535  InsetsController        com.example.scanpal                  D  show(ime(), fromIme=true)
2024-03-05 10:55:28.694  8535-8535  ImeTracker              com.example.scanpal                  I  com.example.scanpal:593065f4: onCancelled at PHASE_CLIENT_APPLY_ANIMATION
2024-03-05 10:55:30.158  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=499.69ms min=499.14ms max=500.26ms count=3
2024-03-05 10:55:30.377  8535-8535  ImeTracker              com.example.scanpal                  I  com.example.scanpal:ca19487f: onRequestShow at ORIGIN_CLIENT_SHOW_SOFT_INPUT reason SHOW_SOFT_INPUT
2024-03-05 10:55:30.377  8535-8535  InputMethodManager      com.example.scanpal                  D  showSoftInput() view=androidx.appcompat.widget.AppCompatEditText{5448ef1 VFED..CL. .F.P..ID 111,789-969,907 #7f08004b app:id/addFirstName aid=1073741825} flags=0 reason=SHOW_SOFT_INPUT
2024-03-05 10:55:30.390  8535-8535  WindowOnBackDispatcher  com.example.scanpal                  W  sendCancelIfRunning: isInProgress=falsecallback=ImeCallback=ImeOnBackInvokedCallback@210734941 Callback=android.window.IOnBackInvokedCallback$Stub$Proxy@502e710
2024-03-05 10:55:30.397  8535-8535  AssistStructure         com.example.scanpal                  I  Flattened final assist data: 2344 bytes, containing 1 windows, 11 views
2024-03-05 10:55:30.451  8535-8535  InsetsController        com.example.scanpal                  D  show(ime(), fromIme=true)
2024-03-05 10:55:30.451  8535-8535  ImeTracker              com.example.scanpal                  I  com.example.scanpal:adfd7c2f: onCancelled at PHASE_CLIENT_APPLY_ANIMATION
2024-03-05 10:55:30.463  8535-8535  InsetsController        com.example.scanpal                  D  show(ime(), fromIme=true)
2024-03-05 10:55:30.464  8535-8535  ImeTracker              com.example.scanpal                  I  com.example.scanpal:ca19487f: onCancelled at PHASE_CLIENT_APPLY_ANIMATION
2024-03-05 10:55:30.954  8535-8535  ImeTracker              com.example.scanpal                  I  com.example.scanpal:19221652: onRequestShow at ORIGIN_CLIENT_SHOW_SOFT_INPUT reason SHOW_SOFT_INPUT
2024-03-05 10:55:30.955  8535-8535  InputMethodManager      com.example.scanpal                  D  showSoftInput() view=androidx.appcompat.widget.AppCompatEditText{1247ad6 VFED..CL. .F.P..ID 111,981-969,1099 #7f08004c app:id/addLastName aid=1073741826} flags=0 reason=SHOW_SOFT_INPUT
2024-03-05 10:55:30.976  8535-8535  AssistStructure         com.example.scanpal                  I  Flattened final assist data: 2392 bytes, containing 1 windows, 11 views
2024-03-05 10:55:30.979  8535-8535  RemoteInpu...ectionImpl com.example.scanpal                  W  setComposingRegion on inactive InputConnection
2024-03-05 10:55:30.979  8535-8535  WindowOnBackDispatcher  com.example.scanpal                  W  sendCancelIfRunning: isInProgress=falsecallback=ImeCallback=ImeOnBackInvokedCallback@210734941 Callback=android.window.IOnBackInvokedCallback$Stub$Proxy@98dcc27
2024-03-05 10:55:31.020  8535-8535  InsetsController        com.example.scanpal                  D  show(ime(), fromIme=true)
2024-03-05 10:55:31.021  8535-8535  ImeTracker              com.example.scanpal                  I  com.example.scanpal:4f77719d: onCancelled at PHASE_CLIENT_APPLY_ANIMATION
2024-03-05 10:55:31.021  8535-8535  InsetsController        com.example.scanpal                  D  show(ime(), fromIme=true)
2024-03-05 10:55:31.021  8535-8535  ImeTracker              com.example.scanpal                  I  com.example.scanpal:19221652: onCancelled at PHASE_CLIENT_APPLY_ANIMATION
2024-03-05 10:55:31.167  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=62.48ms min=11.05ms max=143.98ms count=16
2024-03-05 10:55:32.359  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=119.14ms min=35.33ms max=491.91ms count=10
2024-03-05 10:55:32.387  8535-8535  ImeTracker              com.example.scanpal                  I  com.example.scanpal:f6c52d68: onRequestHide at ORIGIN_CLIENT_HIDE_SOFT_INPUT reason HIDE_SOFT_INPUT
2024-03-05 10:55:32.394  8535-8535  WindowOnBackDispatcher  com.example.scanpal                  W  sendCancelIfRunning: isInProgress=falsecallback=ImeCallback=ImeOnBackInvokedCallback@210734941 Callback=android.window.IOnBackInvokedCallback$Stub$Proxy@49b4aed
2024-03-05 10:55:32.643  8535-8535  ImeTracker              com.example.scanpal                  I  com.example.scanpal:e682456b: onRequestHide at ORIGIN_CLIENT_HIDE_SOFT_INPUT reason HIDE_SOFT_INPUT_BY_INSETS_API
2024-03-05 10:55:32.644  8535-8535  ImeTracker              com.example.scanpal                  I  com.example.scanpal:f6c52d68: onHidden
2024-03-05 10:55:33.384  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=341.61ms min=65.55ms max=488.16ms count=3
2024-03-05 10:55:33.635  8535-8586  DynamiteModule          com.example.scanpal                  W  Local module descriptor class for com.google.android.gms.providerinstaller.dynamite not found.
2024-03-05 10:55:34.425  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=18.85ms min=2.18ms max=200.00ms count=52
2024-03-05 10:55:34.543  8535-8586  ActivityThread          com.example.scanpal                  E  Failed to find provider info for com.google.android.gms.chimera
2024-03-05 10:55:34.543  8535-8586  DynamiteModule          com.example.scanpal                  W  Failed to retrieve remote module version.
2024-03-05 10:55:34.584  8535-8586  nativeloader            com.example.scanpal                  D  Configuring clns-8 for other apk /system/framework/com.android.media.remotedisplay.jar. target_sdk_version=33, uses_libraries=ALL, library_path=/product/priv-app/PrebuiltGmsCore/lib/x86_64:/product/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk!/lib/x86_64, permitted_path=/data:/mnt/expand:/data/user/0/com.google.android.gms
2024-03-05 10:55:34.586  8535-8586  nativeloader            com.example.scanpal                  D  Configuring clns-9 for other apk /system/framework/com.android.location.provider.jar. target_sdk_version=33, uses_libraries=ALL, library_path=/product/priv-app/PrebuiltGmsCore/lib/x86_64:/product/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk!/lib/x86_64, permitted_path=/data:/mnt/expand:/data/user/0/com.google.android.gms
2024-03-05 10:55:34.586  8535-8586  ApplicationLoaders      com.example.scanpal                  D  Returning zygote-cached class loader: /system_ext/framework/androidx.window.extensions.jar
2024-03-05 10:55:34.586  8535-8586  ApplicationLoaders      com.example.scanpal                  D  Returning zygote-cached class loader: /system_ext/framework/androidx.window.sidecar.jar
2024-03-05 10:55:34.591  8535-8586  nativeloader            com.example.scanpal                  D  InitLlndkLibrariesProduct: libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libbinder_ndk.so:libc.so:libcgrouprc.so:libclang_rt.asan-x86_64-android.so:libcom.android.tethering.connectivity_native.so:libdl.so:libft2.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libselinux.so:libsync.so:libvndksupport.so:libvulkan.so
2024-03-05 10:55:34.591  8535-8586  nativeloader            com.example.scanpal                  D  Configuring product-clns-10 for unbundled product apk /product/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk. target_sdk_version=33, uses_libraries=, library_path=/product/priv-app/PrebuiltGmsCore/lib/x86_64:/product/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk!/lib/x86_64:/product/lib64:/system/product/lib64, permitted_path=/data:/mnt/expand:/data/user/0/com.google.android.gms:/product/lib64:/system/product/lib64
2024-03-05 10:55:34.594  8535-8586  nativeloader            com.example.scanpal                  D  InitVndkspLibrariesProduct: android.hardware.common-V2-ndk.so:android.hardware.common.fmq-V1-ndk.so:android.hardware.graphics.allocator-V2-ndk.so:android.hardware.graphics.common-V4-ndk.so:android.hardware.graphics.common@1.0.so:android.hardware.graphics.common@1.1.so:android.hardware.graphics.common@1.2.so:android.hardware.graphics.composer3-V1-ndk.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.mapper@2.1.so:android.hardware.graphics.mapper@3.0.so:android.hardware.graphics.mapper@4.0.so:android.hardware.renderscript@1.0.so:android.hidl.memory.token@1.0.so:android.hidl.memory@1.0-impl.so:android.hidl.memory@1.0.so:android.hidl.safe_union@1.0.so:libRSCpuRef.so:libRSDriver.so:libRS_internal.so:libbase.so:libbcinfo.so:libblas.so:libc++.so:libcompiler_rt.so:libcutils.so:libdmabufheap.so:libgralloctypes.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libion.so:libjsoncpp.so:liblzma.so:libprocessgroup.so:libunwindstack.so:libutils.so:libutilscallstack.so:libz.so
2024-03-05 10:55:35.924  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=498.05ms min=496.35ms max=500.05ms count=3
2024-03-05 10:55:36.924  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=499.97ms min=499.81ms max=500.13ms count=2
2024-03-05 10:55:37.924  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=499.92ms min=498.61ms max=501.23ms count=2
2024-03-05 10:55:38.924  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=500.10ms min=498.35ms max=501.85ms count=2
2024-03-05 10:55:40.442  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=505.78ms min=499.51ms max=517.57ms count=3
2024-03-05 10:55:41.942  8535-8563  EGL_emulation           com.example.scanpal                  D  app_time_stats: avg=27.21ms min=11.63ms max=500.46ms count=55
2024-03-05 10:55:42.723  8535-8586  ActivityThread          com.example.scanpal                  E  Failed to find provider info for com.google.android.gms.chimera
2024-03-05 10:55:42.723  8535-8586  DynamiteModule          com.example.scanpal                  W  Failed to retrieve remote module version.
2024-03-05 10:55:42.723  8535-8586  DynamiteModule          com.example.scanpal                  I  Considering local module com.google.android.gms.providerinstaller.dynamite:0 and remote module com.google.android.gms.providerinstaller.dynamite:0
2024-03-05 10:55:42.724  8535-8586  ProviderInstaller       com.example.scanpal                  W  Failed to load providerinstaller module: No acceptable module com.google.android.gms.providerinstaller.dynamite found. Local version is 0 and remote version is 0.
2024-03-05 10:55:42.736  8535-8586  ApplicationLoaders      com.example.scanpal                  D  Returning zygote-cached class loader: /system_ext/framework/androidx.window.extensions.jar
2024-03-05 10:55:42.736  8535-8586  ApplicationLoaders      com.example.scanpal                  D  Returning zygote-cached class loader: /system_ext/framework/androidx.window.sidecar.jar
2024-03-05 10:55:42.762  8535-8586  NativeCrypto            com.example.scanpal                  V  Registering com/google/android/gms/org/conscrypt/NativeCrypto's 295 native methods...
2024-03-05 10:55:42.785  8535-8586  example.scanpal         com.example.scanpal                  W  Accessing hidden method Ljava/security/spec/ECParameterSpec;->getCurveName()Ljava/lang/String; (unsupported, reflection, allowed)
2024-03-05 10:55:42.865  8535-8586  ProviderInstaller       com.example.scanpal                  I  Installed default security provider GmsCore_OpenSSL
2024-03-05 10:55:43.142  8535-8869  TrafficStats            com.example.scanpal                  D  tagSocket(136) with statsTag=0xffffffff, statsUid=-1
2024-03-05 10:55:43.180  8535-8869  example.scanpal         com.example.scanpal                  W  Accessing hidden field Ljava/net/Socket;->impl:Ljava/net/SocketImpl; (unsupported, reflection, allowed)
2024-03-05 10:55:43.279  8535-8869  example.scanpal         com.example.scanpal                  W  Accessing hidden method Ljava/security/spec/ECParameterSpec;->setCurveName(Ljava/lang/String;)V (unsupported, reflection, allowed)
---------------------------- PROCESS ENDED (8535) for package com.example.scanpal ----------------------------
2024-03-05 10:55:50.845  8535-8535  ActivityThread          com.example.scanpal                  E  Failed to find provider info for com.google.android.gms.chimera
2024-03-05 10:55:50.845  8535-8535  DynamiteDebugLogger     com.example.scanpal                  W  ContentProvider lookup failed: java.lang.IllegalArgumentException: Unknown authority com.google.android.gms.chimera

Milestone Alerts for attendance

Issue Description

"As an organizer, I want to track real-time attendance and receive alerts for important milestones."
Must integrate existing features along side new ones such that, from the organizers Point of view on their event's details, they can go to the organizers menu to, view the current attendees, in addition the organizer must receive push notifications about the amount of attendees signed up and checked in(increments of 5 then 10?, notifications for 1st, 5,10,15,20, 30 and then 40 attendees)

Acceptance Criteria:

  • Integrate the 'Organizer Options' menu
  • the milestones should pop up when app is in background
  • Fix Check in count

Notes:

Will have to change the UI a bit in Events details page to accommodate organizers sending announcements
User and event Controllers will be altered

Organizer Options should so far consist of options to:
Edit event
send announcement
View attendees
View map
show check in QR
show QR for event details

Test Cases

From Project Part 3:

  • Write runnable tests for your model and control classes. Provide intent tests for the requirements you have done. Deliver the test code to your source repository. If you have test data files, also include those. Test data should be realistic.

AC:

  • Ensure all classes implemented in the halfway checkpoint have appropriate tests

Init Activity Frames and Lay-out App Flow Wireframe

Refer to figma UI mockups and create activity frames corresponding to each figma frame.
Link frames together according to app flow.

AC:

  • All the frames with some identifying text.
  • Follow consistent naming.
  • make sure all frames are linked to something.

Update UI on user sign up page

Acceptance Criteria

  • Input boxes should be consistent with other portions of the app
  • Fix any misalignment errors with view constraints on role select

Public events directory

US 02.08.01 As an attendee, I want to browse event posters/event details of other events.

Create Profile Page & Edit Profile Details

US 02.02.03 As an attendee, I want to update information such as name, homepage, and contact information on my profile.

AC:

  • Create a on-device user object that contains user details
  • Create a profile page that fetches user details and displays it
  • Profile picture must be fetched from Firebase Storage using the URL stored on-device
  • Edit Profile Page must allow user to delete and modify all details, including profile picture

Allow Users to create Events and edit their existing Events in App

From start up if a user goes to the events list page they should be able to create their own events.

Checklist:

  • Implement functionality of a 'create new event' button, from the events page to go to add new event page
  • Create and store the event in the database
  • List events Specific user has created
  • Implement 'Edit Event' button from event details page (only allow editing if organizer or Admin)
  • be able to view the event's details at a separate instance and edit it, reflecting the changes in the database

documentation & cleanup

Issue Description

documentation & cleanup

Acceptance Criteria:

  • Add/Update missing documentation
  • Javadocs
  • general cleanup for halfway checkpoint

Automatic profile image default

US 02.05.01 As an attendee, I want my profile picture to be deterministically generated from my profile name if I haven't uploaded an profile image yet.

Upload event image

US 01.04.01 As an organizer, I want to upload an event poster to provide visual information to attendees.

CheckList:

  • Implement 'Edit Image' button from add/edit event pages (only allow editing if organizer or Admin)
  • Allow uploading image from user device to firestorage
  • display image provided by user on event detail page

Join/CheckIn to Events as an Attendee

US 02.07.01 As an attendee, I want to sign up to attend an event from the event details (as in I promise to go).

AC:

  • Enable user to join any event(s).
  • Store reference to user and details in a new Attendee Class
  • Update participants in Event class
  • Ability to check-in to an event using the QR code scanner
  • Update database on check-in
  • Link up UI layouts/buttons

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.