cygy / photorider

An iOS application to download photos of your ride!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Photo Rider

Photo Rider

An iOS application to download photos of your ride!

This is a demo application to use the location services and the Combine framework.

Architecture

This application uses a traditional MVC architecture with storyboards. The Combine framework is used to manage the events. The CoreData framework is used to save the data on disk.

Services

The application is based on three "services":

  • LocationTracker which is responsible for requesting authorization to use the location from the user and sending the updated location with a Publisher.
  • PhotoDownloader which is responsible for downloading a photo bound to a location. It subscribes to the LocationTracker's publisher to know the current location. A photo is not save twice.
  • LocationSaver which is responsible for saving on disk the consecutive locations of the walk. It subscribes to the LocationTracker's publisher to know the locations to save and to the PhotoDownloader's publisher to know the photos to save.

Based on the dependency injection pattern, these services implement a well-defined protocol.

Views

There are two UIViewController classes:

  • PhotosViewController which is in charge to display the photos of the ride
  • StartViewController, the main viewcontroller, which invites the user to start the ride

Documentation

The location services

There are some documentations to implement the locaction services in the application:

The Flickr API

The application uses the Flickr API.

About

An iOS application to download photos of your ride!


Languages

Language:Swift 100.0%