MuhammadAli-M / ios-artworks

An iOS app demo to show list and detail screen of artworks.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Artworks iOS Demo Application

Artworks presentation 001

Artworks presentation 002

Overview

iOS demo app to show artworks. The app views are:

  1. main screen to show paginated artworks
  2. detail screen to show artwork details. The background of the detail screen is updated based on the iPhone orientaion, this is where core motion comes to the show.

Architecture

  • MVP
  • Clean Architecture (check Known Issues)
  • Dependency Injection

Features

  • Localization
  • Dark mode support

Backlog

Artworks List

  • Create UI for the artwork list
  • Get the artworks list from API
    • Create artworks (repos, services)
  • Handle error cases

Handled Errors

NoInternetConnection
ConnectionTimeout
InternalError

Artist Details

  • Create UI for the artist details
  • Get the artist details from API
    • Create details (repos, services)
    • Add simple test for hiting the service & parsing response
  • Add title label instead of VC title
  • Handle error cases

Device Orientation Feature

  • Add the orientatian manager

Handled Errors

NoInternetConnection
ConnectionTimeout
InternalError
  • Add code doc
  • Add Unit tests.

Known Issues

  • Fix limiting the pages
  • Fix issue of no found image for artwork
  • Chain of Error handling (ex: ArtistInfoError to be to reflect all errors)
  • Presenter should has use case property not repo directly, but I do it that way as the repo will do the required for now.
  • No listening to internet changes

About

An iOS app demo to show list and detail screen of artworks.


Languages

Language:Swift 99.6%Language:Ruby 0.4%