This is a Netflix clone application, which I managed to do following this tutorial.
I learned a bit about the mvvm architecture, the delegate pattern, how to use the notification center to be able to communicate between two controllers and to save data in a local database.