And now kids let's build something little more complicated. App with distributed transactions in cluster (each step on different node).
Full JEE stack is terrible if you would like to write sad CRUD applications. But if you need something more than simple access to DB it is very good solution.
1. Configure Jenkins builds
2. Add PMD - code analyzing
3. Add Sonar - code analyzing (they has different rules than PMD)
4. Use Archeology 3d > https://github.com/pslusarz/archeology3d to visualizing your code stats.