This project was developed in MVVM architecture
This project loads the data from the API https://www.fishwatch.gov/api/species
XCode 13.4.1
iOS 13
iPhone
https://github.com/SDWebImage/SDWebImage
This library provides an async image downloader with cache support. For convenience, we added categories for UI elements like UIImageView
To run this project you need to follow these steps:
- Need to install cocopods
https://cocoapods.org
- Then open terminal and navigate to the folder
~/Fish-Species/FishSpecies
then use commandpod install
- If any error occured during installation use command
pod install --repo-udpate
- After pod installation open
~/Fish-Species/FishSpecies/FishSpecies.xcworkspace
in xcode, will be able to run the project
- MVVM
- SOLID principles
- Secutiy measures
- Jail break detection ( Jail break detection code added as extension of
UIDevice
)
- Jail break detection ( Jail break detection code added as extension of
- Navigate to
CommonExtensions.swift
file andreturn TRUE
in that method. - To test in simulator comment out the line
if UIDevice.current.isSimulator { return false }
. - Now run the app, you will see alert without okay button, user will be not be able to use the app.
- Jail broken app like Cydia app is installed in Device or not
- Able to open/write system related file or not
- mac OS Monterey
- XCode 13
- Snapshot for UI testing
- Creating seperate package/pod for maintaining UI components and networking
- Maintain screen navigation in one place (coordinator pattern)
- Async/await or PromiseKit for handling structured async operation
- Test Case Execution
- Test Case Coverage
- App Landing Screen
- App Description Screen
- Screen Recording