Inspired by a tutorial, I decided to follow through and spend some time learning and refining the code.

The sample code is at Github.

snapshot1

snapshot3

snapshot2

 

 

The original tutorial is by AppDesignVault. View the videos from Youtube