Senior iOS Developer Challange

Table of Contents

Summary

You have an iOS App. Let's imagine, we are developing an app for iOS. You could build your iOS App to handle all possible cases.

Details

  • Let's imagegine, we are developing an app for iOS. This simple iOS App using SpaceX API

  • We expect you to come up with a two tab and four screen application. We have listed some of the UI requirements below.

  • First Tab Screen

    • You will list all the available all SpaceX Rockets.
    • You should add favorite button and you will keep up in lokal database.
    • You can choose if you want. UserDefault, Realm, Core Data etc.
    • User must add or remove favorite rocket
    • Each item must have a thumbnail of the rocket, rocket name and rocket descritpton (if rocket has image or has description)
    • UI Design is up to developer.
    • Clicking an item will launch the rocket detail screen
  • Rocket Detail Screen

    • This screen will show all the details about a particular movie item
    • There should be a rocket image, title description, summary etc
    • There must be favorite button.
    • Show the clickable favorite button with its previous state (user selected the rocket as favorite or not)
    • Show rocket images in a slidable gallery
  • Second tab screen

    • List favorite rockets of the user
    • Each item must have unfavorite button (If user click unfavorite button UI must be reload)
    • Clicking an item will launch the rocket detail screen

Solution

  • Demonstrated mastery of advanced programming concepts in swift for Apple platforms, including
    • MVVM or VIP (Clean Swift) application architecture
    • Protocol-oriented programming
    • The Codable protocol
    • You can use Alamofire,Moye URLSession & native networking in Swift (Moya preferred)
    • Storyboard or XIB
    • Xcode 13.2 and Swift 5 or higher

Please push your project to GitHub and share the related URL with us.