As for the research I did on revamping the Boat control app. What I wanted to achieve was an app with a better code structure and design. I also wanted to mostly rewrite the app in Kotlin instead of Java. To do this I asked my classmate Bram Koolen for some help. He was able to explain Kotlin to me in great detail and this really helped to get me started. Furthermore he told me about a development structure named MVP.
That stands for Model, View, Presenter. In short it means that all the logic of the app in handled in a package called "presenter" all the UI stuff is put in the "view" package and all the models/database stuff gets handled in a package called "domain". All of these package use various interfaces to raise maintainability and keep the code structured.
I also looked into material design, I used this nifty website and an app look up some standard conventions and changed the layout of my app accordingly.