We will start from a wiki web application backed by a relational database and server-side rendering of pages; then we will evolve the application through several steps until it becomes a modern single-page application with “real-time”.[] web features. Along the way you will learn to:

    1. Design a web application with server-side rendering of pages through templates, and using a relational database for persisting data.

    2. Cleanly isolate each technical component as a reusable event processing unit called a verticle.

    3. Testing code with asynchronous operations.

    4. Integrating with third-party services exposing a HTTP/JSON web API.

    5. Refactoring some code to use reactive programming with the popular RxJava library and its Vert.x integration.

    6. Real-time web programming using the unified Vert.x event bus integration over SockJS.