As mentioned earlier, we are using Android Studio 3.0 (stable) for this project. The following screenshot depicts the project structure that we're using:
In this project, we are using package-by features, and I do prefer to use package-by for Android development, mainly for its scalability and maintainability. Also, note that it is best practice to use package-by feature in Android; although, you can obviously use your preferred model. You can read more about the package-by feature at https://hackernoon.com/package-by-features-not-layers-2d076df1964d.
Now, let's understand the package structure used ...