Skip to content

tsegismont/vertx-gsoc-2024-assessment

Repository files navigation

Eclipse Vert.x GSoC 2024 Assessment App

In 2024, the Eclipse Vert.x team proposes a subject for Google Summer of Code through the Eclipse Foundation.

In addition to the GSoC proposal document, we ask candidates to implement a Vert.x application. This will help us make sure candidates have a basic understanding of asynchronous programming and the Vert.x toolkit.

The assessment app

This repository contains the skeletons for a "Jokes Of The Day" Vert.x application.

The Maven POM files are set up for you so fork the repository and start coding.

The application involves a few Vert.x modules: Vert.x Web, the Vert.x Web Client, Vert.x HTTP Proxy and Vert.x JUnit 5.

It consists in three components:

  1. a backend that fetches jokes from the icanhazdadjoke.com public API

  2. a website serving static files

  3. a proxy that relays traffic from the browser to the website and backend applications

Tasks

Fetching jokes

In the backend.BackendVerticle class, set up a Vert.x Web Router and HTTP server.

When the HTTP server is ready, make sure that requests to /joke will return a random joke, loaded from the icanhazdadjoke.com public API.

Create a backend.BackendVerticleTest unit test that verifies this behavior.

User interface

Update the webroot/index.html file of the website module: create a user interface that allows to fetch and display a new joke over HTTP.

In the website.WebsiteVerticle class, set up a Vert.x Web Router to serve the static content.

Proxy

In the proxy.ProxyVerticle class, set up a Vert.x Web Router and HTTP server.

Then use Vert.x HTTP Proxy and Vert.x Web Proxy to relay traffic from the browser to the website and backend applications.

Submitting code

Please share your implementation by providing a pull request to this repository.

Do not try to play smart by copying other candidates pull requests.

In order to ease the review:

  • rebase your pull request on main regularly

  • organize your git history to show one commit per task

Getting help

The Vert.x docs have all the information you need to implement the assessment application.

If you are not sure how to proceed with one or more of the tasks, get in touch with the possible mentors (email links on the subject, or you can file an issue in this project).

About

Eclipse Vert.x GSoC 2024 Assessment App

Resources

License

Stars

Watchers

Forks