Skip to content

michaelfaith/ios-rider

 
 

Repository files navigation

RideAustin Rider

iOS App for RideAustin Rider

Platform PRs Welcome License: MIT

Ridesharing is valuable to all citizens, empowers drivers and riders, saves lives and is part of any transportation future. We created RideAustin to get the city moving again and to reinvest in our community.

RideAustin is a non-profit rideshare built for the Austin community. It is powered by donations, with paid and volunteer hours from both the Austin tech community and the broader Austin community working together. We believe ridesharing saves lives, empowers drivers & riders and is part of any transportation future.

Features

Most of the features are described by the ConfigGlobal which is the response of GET /configs/rider/global

  1. accessibility
    • this feature describes the button to call the taxi company that can drive for people with disabilities
  2. cancellationFeedback
  3. carTypes
  4. commonMessages
  5. currentCity
  6. directConnectPhone
  7. driverTypes
  8. genderSelection
  9. generalInformation
  10. geocodingConfiguration
  11. rides
  12. smsMaskingEnabled
  13. supportedCities
  14. unpaidBalance

Installation

Requirements

  • bundler 2.0.1

  • iOS 12.0+

  • Ruby 2.5.5

  • SSH for github access

  • Xcode 11.3.1

  • Install bundler to manage ruby gems

gem install bundler --version=2.0.1
  • Install gems
bundle install
  • Install pods
bundle exec pod install
  • After adding environment variables, generate the app plist by running
scripts/infoplist.sh

Environmental Variables

This project is configured with Fastlane to work with CLI tools here are the environmental variables available in the fastlane that can be provided in /fastlane/.env.default file

Required

  • API_KEY Added as header X-Api-Key to every request

  • APP_IDENTIFIER_PROD: Add your Production App ID here for example com.organization.appName

  • DELIVER_USERNAME: This name is shown in the messages for example RideAustin Version 5.1.0b (708) uploaded by:xyz@rideaustin.com in this message xyz@rideaustin.com is through this variable. Also used in built in fastlane actions for example match , pilot

  • FASTLANE_TEAM_ID: The ID of your Developer Portal team if you're in multiple teams e.g. XXXXXXYVXX

  • GOOGLE_MAP_KEY: To use the Maps SDK for iOS you must have an API key. The API key is a unique identifier that is used to authenticate requests associated with your project for usage and billing purposes. To learn more see the guide and API Key Best Practices

  • GOOGLE_MAP_DIRECTIONS_KEY: To use the Directions API, you must get an API key which you can then add to your mobile app, website, or web server. The API key is used to track API requests associated with your project for usage and billing. To learn more about API keys, see the API Key Best Practices

  • GOOGLE_SERVICE_INFO_PLIST_PRODUCTION: When using circleci, run base64 GoogleService-Info.plist and use the output as environment variable. Otherwise, just add the file Resources/Plists/GoogleService-Info.plist to enable firebase services.

  • MATCH_GIT_FULL_NAME: git user full name to commit

  • MATCH_GIT_URL: URL to the git repo containing all the certificates

  • MATCH_GIT_USER_EMAIL: git user email to commit

  • MATCH_PASSWORD: Provide the password for the match in this variable. Here is the guideline for configuring the match guide

  • MATCH_USERNAME: Your Apple ID Username

  • TEAM_ID_QA: The ID of your App Store Connect team if you're in multiple teams. e.g 118247423

Optional

  • APPCENTER_APP_NAME: Add your app name to be uploaded on Appcenter to get App name find at https://appcenter.ms/orgs/<APPCENTER_OWNER_NAME>/apps/<APPCENTER_APP_NAME>

  • APPCENTER_OWNER_NAME: Add owner name of the app to be uploaded on Appcenter to get App owner name find at https://appcenter.ms/orgs/<APPCENTER_OWNER_NAME>

  • APPCENTER_API_TOKEN: Add Api token for Appcenter. Goto. https://appcenter.ms/orgs/<organization-name>/applications?os=iOS then in account settings, you can create token. Settings / API tokens

  • APP_IDENTIFIER_QA: Add your QA App ID here for example com.organization.appName

  • CRASHLYTICS_API_TOKEN: Get the api token from organization settings page

  • CRASHLYTICS_BUILD_SECRET: Get the build secret from organization settings page

  • HOCKEYAPP_API_TOKEN: While using HockeyApp , with the help of API Tokens we can control the access rights for a single app or multiple apps. The common API Access token key (All Apps) can be useful for all the apps. But, in case you want to give specific access right such as only upload, or just a read only, we should create specific access token. builds to devices. Please check the guide for help.

  • HOCKEYAPP_ID_QA: Add APP ID from hockey app here get it from the main page of the app. Just select the application in the hockey app it will open the page showing the overview tab.

  • SLACK_URL: Provide webhook url for the slack to post the updates on the slack. Follow these steps to add webhook in your slack channel guide

Troubleshooting

  • After running pod install if it fails with the following error
Unable to add a source with url `git@github.com:ride-austin/ios-podspecs.git` named `ride-austin`

check SSH configuration check guide SSH Help

Contribute

We would love you for the contribution to RideAustin Rider, check the LICENSE file for more info.

Meta

Distributed under the MIT license. See LICENSE for more information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 80.6%
  • Swift 18.3%
  • Ruby 0.7%
  • Shell 0.2%
  • Rich Text Format 0.1%
  • C 0.1%