Truthfully, I think you're better off with the tutorials and demos. Good ones will split up how to achieve what you need to achieve. Diving into a huge app like this will be confusing to figure out how everything is working. If you are already familiar with Android/iOS, then I think looking at these bigger projects can really piece everything together (but you wouldn't start with say rxjava and rxlifecycle on your own before understanding Android).