Code Monkey home page Code Monkey logo

amesride's People

Contributors

patrickdemers6 avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

amesride's Issues

Static Schedule

Show the static GTFS schedule so riders can plan their trip further in advance.

Only Jump to User Location if in Ames

If a user opens the app out of Ames, it is useless to have the map move to them. Setup a rule to not move the map to the user if they are outside Ames.

Here is the function that automatically moves to the user's location on Map load.

const moveMapToUser = () => {
if (!location) return;
mapRef.current.animateToRegion({
latitude: location.coords.latitude,
longitude: location.coords.longitude,
longitudeDelta: 0.01,
latitudeDelta: 0.01,
});
};

Proposed borders

West longitude: -93.79180211954629
East longitude: -93.50245309137533
North latitude: 42.11249786499128
South latitude: 41.94664427464395

Tapping a Stop Occasionally Crashes App

Tapping on a stop occasionally crashes the app. The behavior is not consistent or reproducible, but has been observed on multiple stops.

signal-2023-06-04-154552.mp4

Allow Default Route By Location/Time

Often times, bus users follow a schedule each week. Allowing the user to configure a default route to be shown based on their location and/or time of day would improve user experience.

The user should be able to specify multiple settings:

  • Days of week
  • Time of day
  • Location (maybe a pin on map or draw a region?)

Example user goals

"I want to get on 21 Cardinal whenever I am at my apartment at Freddy Court."
"I want to see 1 Red West when I am near student services on Wednesdays from 10:00am - 12:00pm."

Arrival Notifications

Add the ability for a user to subscribe to a notification X minutes before a bus arrives.

Add Ability to See All Routes

If you are unsure what bus you need to take, the ability to see all routes and stops on the map at one time would be useful.

Routes flash on load

When the user opens the application, all routes are flashed temporarily before switching to favorites. Nothing should be shown before making the decision.

Stuck on Loading Screen

The app randomly breaks and gets stuck on loading screen. Clearing app data seems to fix the issue.

"When opening the app, it loaded to the map screen like normal but then jumped back to the loading screen."


Affected version: 1.2.0

Anyone able to reproduce, please share!

Incorrect route sorting

Route sorting is not always correct.

See image below. Correct order is North, South, regular.

image

Email Subject includes %20

When people click to email from the app, %20 is included in the subject and isn't automatically converted to a space.

Update Screenshots

A few things have changed since last updating app screenshots. They should be updated in the Readme file and the Play Store.

Minutes to arrival differs from provided time

The minutes until a bus arrives can differ from the time shown due to hidden seconds. The number of minutes until a bus arrives should be shown based on the expected time of arrival.

Incorrect Route shown on Weekends For Brown

On Brows South, the route is different on the weekend.

When a user clicks Brows South, it should show the proper map of the route, instead of the weekday route.

This will require determining the correct pattern to follow when showing a route.

Update screenshots

Now that #89 is in, screenshots need to be updated in the README and for the app stores.

Routes Slow to Load

Depending on internet connectivity and speed, the routes can be slow to load.

Allow showing only upcoming arrivals for favorite routes

When viewing upcoming arrivals for a certain stop, add a user configurable option to show only arrivals from favorite routes.

Why?

When looking at the list of upcoming arrivals, there can be many irrelevant buses shown. This allows the user to focus on what is important to them - finding the bus that meets their needs.

Proposal

A small icon is shown on the drawer that appears when a stop is selected. It allows the user to toggle between showing all arrivals and only those for their favorite routes.

Support displaying banner

There needs to be an easy way to display a banner to users.

Context: The company contracted to monitor CyRide busses is currently experiencing an outage. It would be great to be able to show a short message to users explaining why the app is not working.

Gracefully handle no locations permission

Currently, the app works fine but an exception is thrown internally.

Possible Unhandled Promise Rejection (id: 0):
Error: Not authorized to use location services.

Location-Related Exception

Seeing a number of occurrences of the following error:

Exception java.lang.RuntimeException:
  at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4657)
  at android.app.ActivityThread.handleResumeActivity (ActivityThread.java:4690)
  at android.app.servertransaction.ResumeActivityItem.execute (ResumeActivityItem.java:52)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2267)
  at android.os.Handler.dispatchMessage (Handler.java:107)
  at android.os.Looper.loop (Looper.java:237)
  at android.app.ActivityThread.main (ActivityThread.java:8167)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:496)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1100)
Caused by java.lang.reflect.InvocationTargetException:
  at java.lang.reflect.Method.invoke
  at expo.modules.ReactActivityDelegateWrapper.invokeDelegateMethod (ReactActivityDelegateWrapper.kt:237)
  at expo.modules.ReactActivityDelegateWrapper.onResume (ReactActivityDelegateWrapper.kt:126)
  at com.facebook.react.ReactActivity.onResume (ReactActivity.java:58)
  at android.app.Instrumentation.callActivityOnResume (Instrumentation.java:1454)
  at android.app.Activity.performResume (Activity.java:8111)
  at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4647)
Caused by java.lang.NullPointerException:
  at java.util.Objects.requireNonNull (Objects.java:203)
  at expo.modules.location.LocationModule.handleForegroundLocationPermissions (LocationModule.java:844)
  at expo.modules.location.LocationModule.lambda$requestForegroundPermissionsAsync$2$expo-modules-location-LocationModule (LocationModule.java:195)
  at expo.modules.location.LocationModule$$ExternalSyntheticLambda17.onResult
  at expo.modules.adapters.react.permissions.PermissionsService.createListenerWithPendingPermissionsRequest$lambda-22 (PermissionsService.kt:271)
  at expo.modules.adapters.react.permissions.PermissionsService.$r8$lambda$Xtr9_3ibuLGU1WXILaGyswj4Ze0
  at expo.modules.adapters.react.permissions.PermissionsService$$ExternalSyntheticLambda0.onRequestPermissionsResult
  at com.facebook.react.ReactActivityDelegate$2.invoke (ReactActivityDelegate.java:198)
  at com.facebook.react.ReactActivityDelegate.onResume (ReactActivityDelegate.java:123)

Show Tooltip on Button Hold

Show a tooltip when a button is held down.

The main button I'm thinking this is needed for is the filter icon that is displayed on the stop details component.

Incompatible Versions Installed


Running "expo doctor"
- Finding all copies of expo-modules-autolinking
- Finding all copies of @expo/config-plugins
[stderr] [02:07:19] Expected package @expo/config-plugins@^5.0.0
[stderr] [02:07:19] Found invalid:
[stderr] [02:07:19]   @expo/[email protected]
[stderr] [02:07:19]   (for more info, run: npm why @expo/config-plugins)
- Finding all copies of @expo/prebuild-config
- Finding all copies of @unimodules/core
- Finding all copies of @unimodules/react-native-adapter
- Finding all copies of react-native-unimodules
[stderr] [02:07:23] Some dependencies are incompatible with the installed expo package version:
[stderr] [02:07:23]  - expo-updates - expected version: ~0.14.6 - actual version installed: 0.14.5
[stderr] [02:07:23]  - react-native - expected version: 0.69.6 - actual version installed: 0.69.5
[stderr] [02:07:23] Your project may not work correctly until you install the correct versions of the packages.
[stderr] To install the correct versions of these packages, please run: expo doctor --fix-dependencies,
[stderr] or install individual packages by running expo install [package-name ...]
Command "expo doctor" failed.

Favorites added out of order cause incorrect result when selecting

When selecting a favorite route, there are issues if the routes were not added in descending order.

Steps to reproduce:

  • Clear your favorites
  • Favorite 1 Red West
  • Favorite 1 Red East
  • Click the top most row, 1 Red East

Notice 1 Red West shows up as being selected.

Exception com.facebook.react.common.JavascriptException

Seeing a number of occurrences of the following error:

Exception com.facebook.react.common.JavascriptException:
  at com.facebook.react.modules.core.ExceptionsManagerModule.reportException (ExceptionsManagerModule.java:72)
  at java.lang.reflect.Method.invoke
  at com.facebook.react.bridge.JavaMethodWrapper.invoke (JavaMethodWrapper.java:372)
  at com.facebook.react.bridge.JavaModuleWrapper.invoke (JavaModuleWrapper.java:188)
  at com.facebook.jni.NativeRunnable.run
  at android.os.Handler.handleCallback (Handler.java:942)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage (MessageQueueThreadHandler.java:27)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run (MessageQueueThreadImpl.java:228)
  at java.lang.Thread.run (Thread.java:1012)

Add Settings Page

Settings page should be navigated to through a hamburger menu (slides out from left).

On settings page, there should be (at this point)

  • link to GitHub repository
  • email for user feedback/bug reports (is there a better way to do this than having a gmail?)
  • Disclaimer that data is provided by GMV Syncromatics. Accuracy not guaranteed.

Show Minutes Until Arrival Corrected By Timezone

When in a different timezone than Central, the minutes until arrival are incorrect. These should either be passed from the backend or calculated on the frontend while respecting timezone differences.

Current Behavior

If the bus is arriving in 10 minutes, someone on the west coast will see 130 minutes due to being two hours behind.

Expected Behavior

If the bus is arriving in 10 minutes, someone on the west coast will see 10 minutes until arrival.

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.