/imgeye

App for viewing images from Unsplash API.

Primary LanguageSwift

Table of Contents

  1. What is this project about?
  2. Why did I make this project?
  3. Examples of the app behaviour
  4. Dependencies
  5. How to run the app

What is this project about?

An app for viewing and saving images using the Unsplash API.

Why did I make this project?

I made the project to expand my knowledge in iOS Development.
What I learned from this project:

  • How to implement MVVM architecture.
  • How to add headers to URLRequest in order to authorize an app in an API.
  • How to use URLSession and OperationQueue for downloading progress handling in order to animate loading indicator.
  • How to save an image to Photo Library.
  • How to use and set up SwiftGen.
  • Utilized GCD in order to impore app performance.
  • Expanded my knowledge of CoreData (for example, learned how to save images).
  • Expanded my knowlegde of custom UI elements and animations.

Examples of the app behaviour

  • Main screen (Photo feed).
    Feed
  • Photo Details screen.
    Details
  • Adding photo to favorites.
    Favorites
  • Saving photo to Photo Library.
    Save
  • Searching by phrase.
    Search

Dependencies

The project uses the following pods:

How to run the app

  1. Clone the repo.
  2. Open Terminal and navigate to the project root folder.
  3. Run pod install && open imgeye.xcworkspace.