Photo-Flickr application written in Swift. This project searches for images using Flickr API and displays in a list and provides endless scrolling. Also, pressing on a image will take you to details page. You can share, save and zoom in/out images. NetworkManager takes care of fetching data from Flickr service. The application uses MVVM architecture.
Swift, MVVM, Cocoapods, Kingfisher, Xcode 14.3
Images are retrieved by hitting the Flickr API.
- Home screen: shows a list of searched pictures based on keywords
- Details screen: shows a selected picture from results screens
- Searches persisted between launches
- Save picture in Photos
- Share picture
- Zoom in, zoom out
- Unit tests
- UI tests
- Used MVVM for better testability and separation of concern.
- Used Kingfisher for caching images. So that i don't have to retrieve same images again.
- Used Timer for debounce. So that it reduce repetitive network calls.
- Used UserDefault for persisted between launches. As the app is simple that's why i choose UserDefault instead of CoreData.