The app allows searching different media types in ITunes: movies, books, music, apps. It provides 2 viewing modes of items: single row mode(TableView) and 3 items in a row(CollectionView).
- ITunes API for fetching tracks
- Concurrency:
- async/await
- Task (for creating concurrent environment) with capability of cancellation if a result won't be useful
- ThrowingTaskGroup for running multiple child tasks
- actors (@MainActor)
- KeyedDecodingContainer for decoding fetched data from the network
- UICollectionView Compositional Layout & UICollectionView Diffable Datasource
- Container View for displaying 2 child VCs: Collection and Table VCs
- perform(_:with:afterDelay:inModes:) for delaying requests from search bar input
- IOS 13.0+
- IPhone 7+
- XCode 13.0+