Player looks similar to Apple Music, requesting data from iTunes API. App built using UIKit & SwiftUI frameworks. Clean Swift architecture.


  • UITabBarController, UINavigationController, UISearchController
  • UITableView
  • AVKit
  • Itunes API
  • Alamofire, SDWebImage(UIKit), URLImage(SwiftUI)
  • UIPanGestureRecognizer(UIKit), LongPressGesture(SwiftUI)
  • JSON
  • UserDefaults


Player contains three screens:


This screen built using SwiftUI framework.

  • This screen contains favourite songs.
  • Press left button to start playing your playlist or right button to refresh list.
  • To open detail screen with all song information tap on a cell.
  • You can delete a song by swiping or long pressing a cell.


  • Type in the searchBar a song or an artist name and get suggestions for your search.
  • Add a song to your favourites by clicking “plus”.
  • Tap on a liked song to play it and open detail screen.


  • On this screen you can control playing songs.
  • Move tracks forward or back, change volume, rewind the track, play/pause.
  • Transform big detail screen to mini and backwards by clicking on top centered button or by swiping.


View Github