NasaAPOD App Built with swift

NasaAPOD

Technical Description:

App Runs on Swift 5 + iOS 15 (for testing only traget can be changed)

App Folows MVVM+R pattern where R = router for navigation

App has Test cases just to show case only for 2 viewModels

App Uses CoreData for storage purpose

One might require latest XCOde 13 to run the app

App Flow

Home Screen consists of 3 Sub Flows

1 User can select a date and tap on search to get the APOD for that Date, which will hit the api and shows him the data on next screen.


2 User can Go to search History(Recent searches), app stores all the searches whic user does via searh flow.

        **2.1 Here user can delete the data parmanently via swipe to delete.**
        **2.1. Here user can search on the basis of date.**
        **2.1. Here user can click on any cell to view details**



3 User can go to Favourites, which will show the list of favouries, marked by the user

        **3.1  Here user can delete the APOD data permanetly via swipe to delete action in the list**
        **3.2 User can click to View details, and on the detail page user can unmark the APOD asnon-faourites**
        **3.3 Here user can search on the basis of date.**



Details Screen: It shows the details of APOD (all the requried data fields)

** User can click on the media, to view media on full screen zoom-in/out is supported**
** User can add or remove this APOD from favourites**



GitHub

View Github