This chapter put together everything we've learned about Kotlin design patterns and idioms, to produce an extensible microservice. And, thanks to Vert.x, it's also reactive, which makes it extremely scalable. It also has tested in place, as any real-world application should.
In our application, classes are divided by domains, as opposed to layers, in the usual MVC architecture. A minimal unit of work in Vert.x is called a verticle, and verticles communicate using EventBus.
Our API follows all of REST's best practices: using HTTP verbs and meaningful paths to resources and consuming and producing JSON.
You can apply the same principles to any other real application you're going to write, and we do hope you'll choose Vert.x and Kotlin to do so.