Vaadin is a Java framework for building modern web applications that look great, perform well and make you and your users happy. Vaadin
Because your question is too broad, I will try to explain a few pointers.
Vaadin is a framework, the underlaying programming language is Java, so as a developer you need to use all the best practice of developing a J2EE application. Vaadin comes with its own best practice in regards to UI programming, but does not inject new ones in using JAVA.
Depending on your design pattern and presentation, and the size of your application the structure might vary from simple MVC to some complicated enterprise application architecture. But as a rule of thumb, apart from the default suggested file structure of any application framework, the rest of your application classes will depend on your common sense of best practices and the way you arrange your work to make it scallable and easily maintainable and understood by anyone who will come to be involved in your code work.
It is not easy to get a full scale Vaadin application to use as a reference point, because every project is unique, you need to get an idea of simple available examples and build on based on them, and as you have mentioned, you are a Java developer, so use Java best practices and you will be OK.
Refer to Vaadin sampler and other sample applicationVaadin sampler and other sample application, also Vaadin Web Application Tutorial you will get a clear picture of what you should do.
Hope I have tried to get you into a right direction.