Mobile app for the local ZOO.
I have implemented offline and custom map using map tiles and MapKit. Offline navigation is also supported and uses custom GPX file to map the ZOO paths. Using CoreLocation it is able to determine navigation path, from user location to selected point (animal) in the map and draw the path on the map.
The UI is build using UIKit and storyboards. Every model and image that is used in the app is also saved on device to support offline usage. For images I have used Kingfisher and the models are simply converted to data and saved into UserDefaults.
Some of the descriptions of the animals also have audio playback, this is implemented with AVAudioPlayer.The app also offers ticket purchase which is done through native screens up until the payment, which redirects to Webview where the payment is completed.(this was due to the limitation of the payment provider).
Navigation is done through a left sliding menu, using the open source library SideMenu. The menu has 3 options each of which underneath is a UINavigationController, then ViewControllers are pushed or presented from the root UINavigationControllers.