Skip to content

Drivers Picking is an iOS app that uses MapKit with RxSwift.

Notifications You must be signed in to change notification settings

Mteixeira88/DriversPicking

Repository files navigation

DriversPicking

Overview:

This project is intentionally open-ended. The goal of this project is to show the use of Apple API's usage and Reactive Programming.

App Premise:

  • The user when entered for the first time it will be asked to use the current location, whem the app is in use.
  • All placemarks will be custom, one for the drivers and one for the user
  • The app will generate random Coordinates and position the drivers previously fetched in the map. The positions will always be near the user locations.
  • The app will refresh the drivers position every 5 seconds as well as the user positions if needed.
  • If a driver is selected, the app will have an info view showing the current address, name, image from the driver and the distance/time from the user location.
  • Also, if selected, the driver will have a different image on the map to distinguish it from the other drivers.
  • The driver can be unselected by clicking in the car selected.
  • If a driver is not selected there will be an info view showing the current address, name (USER), image (placeholder) and date.
  • If the user drags to a position where is location is not visible it will appear a Re-center button that will recenter the users position to is current location.

Screenshots

Code

Targets

  • There are two targets in this app, one for the main App DriversPicking and another for the Unit Testing DriversPickingTests.

Schemes

  • There are two schemes for this app, Debug and Release, to test the full app you must use the DriversPicking-Debug.

Dependencies

  • This project uses CocoaPods for dependency manager.
  • This projects depends on: RxSwift and RxCocoa for DriversPicking target. target.
  • Before running this project you must run pod install in order to have all the pods in order to install them.
target 'DriversPicking' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for DriversPicking
  pod 'RxSwift'
  pod 'RxCocoa'

  target 'DriversPickingTests' do
    inherit! :search_paths
    # Pods for testing
    pod 'RxTest'
    pod 'RxBlocking'
  end

end

API

{
"id": String,
"name": String,
"image": String, // optional
}

Tests

  • This app uses RxTest and RxBlocking for DriversPickingTests.

About

Drivers Picking is an iOS app that uses MapKit with RxSwift.

Topics

Resources

Stars

Watchers

Forks