Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GSoC 2024: Add Survey Feature #1222

Merged
merged 52 commits into from
Sep 1, 2024
Merged

GSoC 2024: Add Survey Feature #1222

merged 52 commits into from
Sep 1, 2024

Conversation

amrhossamdev
Copy link
Member

@amrhossamdev amrhossamdev commented Aug 10, 2024

Related to #1173

Project

Name : Amr Hossam
Project : Build Surveys into OneBusAway
Current State: Testing phase

Introduction

During my participation in the Google Summer of Code 2024 program, I had the opportunity to develop a critical feature for the OneBusAway (OBA) Android app aimed at addressing a significant gap in transit service feedback.

Transit agencies often struggle to obtain direct feedback from riders, which impedes their ability to improve service quality and accessibility. This challenge is particularly acute for women, who encounter unique issues such as safety concerns and complex care-related travel patterns that are not always adequately addressed.

To bridge this gap, my project introduced a travel survey feature within the OBA app. This feature allows riders to provide direct feedback on their transit experiences, with a special focus on understanding and enhancing the transit experiences of women.

Screenshots

1 2 3 4 5
6 7 8 9 10

The project involved:

  • Designing and Developing the Survey UI/UX: Creating an intuitive and accessible user interface for the survey feature to ensure a seamless and engaging user experience.
  • Integrating Survey UI with Backend APIs: Connecting the survey interface to backend APIs to enable data retrieval and submission of survey responses.
  • Utilize RoomDB for Managing Study and Survey States: Employ RoomDB to effectively manage and store the states of studies and surveys for each user.

Features:

  • Display Survey UI on Map: Enable the survey interface to be shown directly on the map within the app.
  • Target Surveys to Specific Stops/Routes: Configure the survey UI to appear for specific transit stops or routes.
  • Support External Surveys: Integrate functionality to display surveys from other platforms, such as Google Forms.
  • Manage Survey Preferences: Provide users with the option to enable or disable the receipt of surveys.
  • Upcoming Features: Implement functionalities for managing surveys, including subscribing to or unsubscribing from specific studies.

Related PRs:

Left to do:

  • Complete manage study (waiting for backend services to be completed)
  • Release beta channel version & testing

TODO

  • Apply the AndroidStyle.xml style template to your code in Android Studio.

  • Run the unit tests with gradlew connectedObaGoogleDebugAndroidTest to make sure you didn't break anything

  • If you have multiple commits please combine them into one commit by squashing them for the initial submission of the pull request. When addressing comments on a pull request, please push a new commit per comment when possible (reviewers will squash and merge using GitHub merge tool)

@amrhossamdev amrhossamdev self-assigned this Aug 10, 2024
@amrhossamdev amrhossamdev changed the title Google Summer Of Code 2024 - Survey Feature GSoC 2024: Add Survey Feature Aug 25, 2024
import java.util.ArrayList;
import java.util.List;

public class StudyResponse implements Serializable {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please go back and add doc comments to all of these classes to explain what they are. Doesn't have to be a lot of detail—just 1-2 sentences per class for all of the new classes you've added.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Member

@aaronbrethorst aaronbrethorst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work! I think there are undoubtedly some areas where we'll have to do some small rework tasks, but I don't think that should prevent merging this in. Let's get this into the beta channel!

amrhossamdev and others added 23 commits September 1, 2024 15:12
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
- Refactored survey manager
- Handled showing surveys on the map.
- Handled embedded data in external surveys.

Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
- Implemented a mechanism to manage how often surveys are shown based on app launch count.
- Refactor

Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
- Redesign

Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
Signed-off-by: Amr Hossam <[email protected]>
@aaronbrethorst aaronbrethorst merged commit e12fef5 into main Sep 1, 2024
3 checks passed
@aaronbrethorst aaronbrethorst deleted the feature/surveys branch September 1, 2024 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants