Code Monkey home page Code Monkey logo

collaction_app's People

Contributors

andre-tm-hui avatar arun-muralidharan avatar derrickwilliamson avatar developer-rachit avatar edamijueda avatar erveykee avatar estarkee06 avatar jurrdb avatar lorenzowijtman avatar maschavandermarel avatar rubenhorn avatar saksham-gt avatar sarahaudina avatar thechinkysight avatar tomsiebring avatar wizlif avatar xazin avatar yasht01 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

collaction_app's Issues

[BUG]/[iOS]: Onboarding inside safearea

Describe the bug
The bottom part of the onboarding, the grayish container, doesn't take up the safearea.

Screenshots

Device information:

  • Device: iPhone 13
  • OS: iOS 15.0
  • Version + build number: 1.0.1+1

[SUGGESTION]: Pull to refresh

Is your feature request related to a problem? Please describe.
As a user, I want to be able to explicitly reload content in the app without having to "cold start" it.

Describe the solution you'd like
"Pull-to-refresh" on the main/home page (and other pages such as crowdaction list or crowdaction details).

Describe alternatives you've considered
Upon returning to a page (comes to foreground) check if it hasn't been updated in a while and if this is the case, reload the content. (This might actually be less convenient and harder to implement)

Describe or list the benefits this change would bring

  • Better usuability
  • Change that user is looking at outdated content is reduced

Additional context
Implementation tutorial

Indicate target environment on settings page

Show the target environment in the app, so that testers can see which backend is being used.

  • Add variable to .env files (dev/prod)
  • Display target environment type on settings screen

[SUGGESTION]: View onboarding from settings

If the user wants to view the onboarding again, they could be able to start it again from the settings screen.
๐Ÿ‘‰ Add button to settings screen "What are crowdactions?" that pushes the onboarding route.

(Relates to #142)

[BUG]: Double clicking share button

Describe the bug
When I double click the "Share CollAction" button on the home screen, the share sheet opens twice and can be closed twice.

To Reproduce
Steps to reproduce the behavior:

  1. Open the app on home screen
  2. Click two time on "Share CollAction"

Expected behavior
The button should be disabled either until the share sheet is closed or with a small delay to make sure that opening multiple share sheets isn't possible.

[BUG]: CrowdAction Participation Screen Overflow

The participate in crowdaction dialog overflows when description is too long

Steps to reproduce the behavior:

  1. Go to a crowdaction's details with a long description
  2. Click on participate
  3. See a bottom overflow error

Expected behavior
Large content should be scrollable

Screenshots
Screenshot_20220104_075803

[Feature]: Use content placeholder where applicable

Description:
Instead of displaying 'errors' directly to the user, we should use the content placeholder and display a snackbar error instead. For all received Failures display a snackbar, for all received failures where content can no longer be defined, use content placeholder and show snackbar.

  • See Figma for content placeholder design. Check the Figma comment on content placeholder design for the image to be displayed.
  • See Figma for snackbar, use the built-in Flutter Snackbar functionality!

[BUG]: Crash when trying to upload profile picture

Describe the bug
App crashes when trying to upload a profile picture.

To Reproduce
Steps to reproduce the behavior:

  1. Go through sign up flow
  2. Click on (+) for uploading profile picture when prompted
  3. Select select image source
  4. App crashes

Stack traces

Fatal Exception: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=69, result=0, data=null} to activity {org.collaction.collaction_app/org.collaction.collaction_app.MainActivity}: java.lang.IllegalStateException: Reply already submitted
       at android.app.ActivityThread.deliverResults(ActivityThread.java:5114)
       at android.app.ActivityThread.handleSendResult(ActivityThread.java:5155)
       at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2132)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:250)
       at android.app.ActivityThread.main(ActivityThread.java:7851)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)
Caused by java.lang.IllegalStateException: Reply already submitted
       at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:35)
       at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:14)
       at vn.hunghd.flutter.plugins.imagecropper.ImageCropperDelegate.onActivityResult(ImageCropperDelegate.java:47)
       at io.flutter.embedding.engine.FlutterEngineConnectionRegistry$FlutterEngineActivityPluginBinding.onActivityResult(FlutterEngineConnectionRegistry.java:25)
       at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.onActivityResult(FlutterEngineConnectionRegistry.java:15)
       at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onActivityResult(FlutterActivityAndFragmentDelegate.java:51)
       at io.flutter.embedding.android.FlutterActivity.onActivityResult(FlutterActivity.java:10)
       at android.app.Activity.dispatchActivityResult(Activity.java:8424)
       at android.app.ActivityThread.deliverResults(ActivityThread.java:5107)
       at android.app.ActivityThread.handleSendResult(ActivityThread.java:5155)
       at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2132)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:250)
       at android.app.ActivityThread.main(ActivityThread.java:7851)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)

Device information:

  • Device: moto g(9) play
  • OS: Android 11
  • Version + build number: 1.0.1+252

[Android | Design] App switcher background color

The background of the top bar in the app switcher does not match the background color of the app icon.
This makes the rectangular icon stand out compared to other apps and doesn't look too nice.

To Reproduce
Steps to reproduce the behavior:

  1. Open the app
  2. Open app switcher

Expected behavior
The background color of the top bar in the app switcher should exactly match the background color of the icon (#ffffff).

Screenshots
signal-2021-08-28-120605

Device information:

  • Device: Android (Axon 7)
  • OS: 8.0.0
  • Version: 1.0.1

[BUG]: Unable to update profile photo and bio in User Profile screen

Describe the bug
App does not update profile photo and bio after clicking on Save changes button.

To Reproduce
Steps to reproduce the behavior:

  1. Go to User Profile screen
  2. Click on Edit profile
  3. Add a new profile photo and bio
  4. Click on Save changes
  5. Relaunch the app or log out and log in again.

Expected behavior
New profile photo and bio should be displayed on the User Profile screen.

Device information:

  • Device: Nokia 6.1 Plus
  • OS: Android 10
  • Version + build number: 1.0.1 (389)

[SUGGESTION]: Deploy appbundle to Firebase Distribution

Instead of APKs, distribute app bundles to testers using Firebase Distribution using GitHub Actions.

  • App is live on Google Play
  • Workflow step for building and signing APK is removed
  • Workflow step for uploading build to Firebase uploads app bundle instead

[QUESTION] What do we think about null-safety?

Problem
Null safety is not implemented in a few dependencies yet (listed below), so I have to run the app in PyCharm with the --no-sound-null-safety flag. I would like to discuss what we can do about this, personally, the idea of null safety sounds like a nice feature to have so I think we should work towards enforcing it, but a significant amount of libraries don't seem to be supporting it yet. Haven't tried any of the migration tools listed in the link below yet. Would love to hear what everyone thinks.

Error Message:
Error: Cannot run with sound null safety, because the following dependencies
don't support null safety:

  • package:graphql_flutter
  • package:graphql
  • package:connectivity
  • package:hive
  • package:path_provider
  • package:normalize
  • package:gql_exec
  • package:gql_link
  • package:gql
  • package:http
  • package:connectivity_platform_interface
  • package:crypto
  • package:path_provider_linux
  • package:path_provider_windows
  • package:path_provider_platform_interface
  • package:gql_http_link
  • package:gql_error_link
  • package:gql_dedupe_link
  • package:gql_transform_link
  • package:plugin_platform_interface
  • package:xdg_directories
  • package:websocket
  • package:rxdart
  • package:uuid_enhanced
  • package:http_parser
  • package:convert

For solutions, see https://dart.dev/go/unsound-null-safety

[Feature]: "Lockdown mode" after MVP phase

Functionality: Upon resuming or starting the app, the current date should be checked and compared to the MVP deadline. If the MVP phase has ended, instead of the app's content a captive page is displayed.

Implement a condition with a static date for 31st of January 23:59, show captive page if after this date.

Captive page content:
See Figma for content

Captive page design:
See Figma for full page

Image of Captive Page

image

[BUG]: Back icon on contact form

Describe the bug
Icon of back button not positioned correctly.

To Reproduce
Steps to reproduce the behavior:

  1. Open contact form

Screenshots
Screenshot_20211213-074135.png

Device information:

  • Device: moto g9 play
  • OS: Android 11
  • Version + build number: 1.0.0+264

[Feature]: Implement Snackbars for errors and swap 'error text widgets'

Feature:
We should swap out all Text widgets that display failures such as "NetworkRequestFailed" with something like "No Spotlight CrowdActions right now! Look back alter" and some generic icon. This should be done everywhere where an error may displayed with information that is irrelevant for the user.

Expected Behavior:
A network request failure happens when loading Spotlight CrowdActions, a snackbar shows for a few seconds saying "Something went wrong, check your internet connection!", and a widget is displayed properly to enforce UX, instead of just some Text with an error message.

[Feature]: Implement widgets to accomodate commenting

In the near future, we want to allow users to comment on a crowd action, users must be signed in to leave a comment, and for users not logged in they should see a CTA register or login (See design).

Acceptance criteria:

  • Component for section divider on Crowdaction Details Screen (comments section)
  • Vertical ListView of comments, in posted at timestamp ascending (newest first)
  • Comment Component
  • The comment component should include time since posted at, user avatar, user display name, message. Additionally the ability to Delete a comment if the comment is owned by the user. (pseudo for now I guess)

See figma for design

[BUG] Tests not working in 11-graphql-interaction

Running 'example widget test' does not work currently, the line await initHiveForFlutter(); runs indefinitely.
This line is required for the GraphQL interaction code to run properly, it initializes a Hive (lightweight db for Flutter), however this does not currently work. When debugging I saw that it gets stuck trying to create a new box, line 30 in the initHiveForFlutter() function, await Hive.openBox(box);. Interestingly, await initHiveForFlutter(); does not lead to issues in the main app.

Any input from the others is appreciated, for now I won't create a PR until this is resolved.

[Task]: Restructure files and folders

We need to make sure the folder structure remains clean, in an effort to improve on this, we should go through all folders and files, check for wrong nesting of folders, wrong naming, wrongly placed files (unrelated to parent), etc.

Below is an image of an example of how the structure is broken. In the presentation layer this is how it should look:
-- crowdaction/
--- pages/
---- shared_widgets/
---- crowdaction_detail/
----- widgets/
----- crowdaction_detail.dart
---- crowdaction_browse/
----- widgets/
----- crowdaction_browse.dart
And so forth, which is not the case. Instead, we have misplaced nested folders which makes little to no logical sense.

image

[BUG]: App bar

Describe the bug
The design of the app bar could be improved on.
When scrolling on a longer page it does not look very good.

To Reproduce
Steps to reproduce the behavior:

  1. Go to feedback form
  2. Write a multiline feedback
  3. Scroll down

Expected behavior
The entire app bar should have a white background.
The back icon should be higher resolution.
No content should be visible through the app bar or status bar.

Screenshots
signal-2021-08-31-074648_001

Device information:

  • Device: Android (Axon 7)
  • OS: 8.0.0
  • Version + build number: 1.0.1

[BUG]: Chip for sub-category missing

Describe the bug
While the chip for the category (e.g. sustainability) is displayed, the chip for the sub-category (e.g. food) is missing from the crowdaction card/details page.

(Should they also be displayed on the list items?)

To Reproduce
Steps to reproduce the behavior:

  1. Open main screen/crowdaction details page

Screenshots
Screenshot_20211213-075058.png

Device information:

  • Device: moto g9 play
  • OS: Android 11
  • Version + build number: 1.0.0+264

[BUG]: Default settings value on first app start is not updated automatically

Describe the bug
Configurations should be provided as a stream so the UI can update accordingly

To Reproduce
Steps to reproduce the behavior:

  1. Uninstall previous version of the app
  2. Install the app (debug build)
  3. Open the demo screen
  4. Observe: Registration is disabled (default value) although this does not correspond to the latest remote config
  5. After closing and re-opening the screen it is changed

Expected behavior
The UI should update as soon as the configuration changes

Device information:

  • Device: Axon 7
  • OS: Android 8.0.0
  • Version + build number: 1.0.1+124

[BUG]: Text says 4 instead of 6 digit code

Describe the bug
The screen to enter the OTP says 4 digit code, but it's 6.

To Reproduce
Steps to reproduce the behavior:

  1. Sign up with a phone number
  2. On OTP screen the text does not match the code length

Device information:

  • Device: Axon 7
  • OS: Android 8.0.0
  • Version + build number: 1.01+169

[BUG]/[iOS]: Appbar Return Button

Describe the bug
In the appbar, the return button is not visible

To Reproduce

  • All appbars with a return button

Expected behavior
The return button shouldn't be white in the appbar

Screenshots

Device information:

  • Device: iPhone 13
  • OS: iOS 15
  • Version + build number: 1.0.1+1

Display/update participant count

Display total participants in a crowdaction (according to the design):

  • Participant count is displayed on featured card of a crowdaction
  • Participant count is displayed on the crowdaction detail page
  • After joining, the participant count is incremented by 1 (local change only)
  • After leaving, the participant count is decremented by 1 (local change only)

[BUG]: Featured carrousel position indicator

Describe the bug
Position indicator does not stay in play when scrolling through carousel.

To Reproduce
Steps to reproduce the behavior:

  1. Open home page
  2. Scroll through carousel

Expected behavior
Position indicator stays in place and is updated to show current position.

Screenshots
Screenshot_20211213-074540.png

Device information:

  • Device: moto g9 play
  • OS: Android 11
  • Version + build number: 1.0.0+264

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.