In 2018, the Eclipse Vert.x team proposes subjects for Google Summer of Code through the Eclipse organization.
Project ideas are listed on the Eclipse Wiki page for GSoC. If you are interested by one of these subjects, send an email to the possible mentor (link on the Eclipse wiki page).
To submit your proposal, use the Eclipse organisation.
In addition to the GSoC proposal document, we ask candidates to implement a simple Vert.x application. This helps us make sure candidates have a basic understanding of asynchronous programming and the Vert.x toolkit. Submit your proposal even if not done with the assessment application! Google will not extend the submission period but we can continue reviewing assessments while evaluating the submitted proposals.
If you have questions, feel free to ask possible mentors via email or on community channels.
Eclipse Vert.x is a toolkit for the Java Virtual Machine enabling the implementation of reactive, highly concurrent, polyglot applications. Use any function as a vertx-web handler, then provide an API to compose these functions in a "RouterBuilder API" way. This should be a totally separated project, keeping vertx-web as is for now and targeting "pure JVM languages" (Java, Kotlin, Groovy, Scala), especially those who have "first-level" functions (and maybe annotations).
What should be achieved:For further reference and examples see the following google group post.
Knowledge prerequisite: Java (8), Gradle or Maven is a plusEclipse Vert.x is a toolkit for the Java Virtual Machine enabling the implementation of reactive, highly concurrent, polyglot applications. This topic is about implementing an extensible administration console.
The outcome should be able to be consumed as a Vert.x Web Handler, but also as guidelines to build such extensible dashboards.
What should be achieved (non exhaustive list):For further reference and examples see the following google group post.
Knowledge prerequisite: Java (8), CSS, JavaScript Gradle or Maven is a plusEclipse Vert.x is a toolkit for the Java Virtual Machine enabling the implementation of reactive, highly concurrent, polyglot applications. More and more Vert.x is getting used on IoT fields now that we offer support for MQTT and are lightweight when compared to other Java frameworks. It is important that Vert.x applications can run as expected under the embedded JDK using the compact profiles (JEP-161).
What should be achieved:Vert.x is a toolkit for the Java Virtual Machine enabling the implementation of reactive, highly concurrent, polyglot applications. The idea of the project is to implement a set of applications using the Vert.x toolkit to illustrate how different classes of applications can be done. This project aims to provide guidelines to Vert.x users to implement various applications.
The project starts with an introduction to Vert.x and the implementation of small examples using the different modules available in the Vert.x ecosystem. Then, the first application is a web application to manage a todo list following the specifications of Todo Backend. The second application is a message-based application such as Kue. The third application is also message-based but illustrates the scalability of Vert.x. It provides a message processing system able to handle a large number of message per seconds. Finally, the last application is a micro-service application close to the Spring Micro Service example.
Live demo of the applications will run on OpenShift and OpenStack, to illustrate production deployment. All these applications will be available and documented on the Vert.x website.
Knowledge prerequisite: Java (8), Gradle or Maven is a plusVert.x is a toolkit for the Java Virtual Machine enabling the implementation of reactive, highly concurrent, polyglot applications. The idea of the project is to implement a set of tools / guidelines to implement Vert.x using a “devops” approach. This cover continuous integration, continuous deployment, production settings and so on.
The project starts with an introduction to Vert.x and the implementation of small examples using the different modules available in the Vert.x ecosystem. In this project, you are going to:
Vert.x is a toolkit for the Java Virtual Machine enabling the implementation of reactive, highly concurrent, polyglot applications. Thanks to its eventbus, any application can interact with Vert.x applications. The idea of the project is to provide a set of libraries to ease the integration of Vert.x applications with applications developed in Go, Rust and C.
The project starts with an introduction to Vert.x and the implementation of small examples using the different modules available in the Vert.x ecosystem. A focus is made on the integration capabilities and the event bus bridges.
At least 3 languages are covered in this project: C, Objective-C and Rust. Proposals for other languages are definitely welcome. For each language, a library is developed in order to let an application developed with the language to interact with the Vert.x Event Bus. The communication is based on TCP and JSON.
Knowledge prerequisite: Java (8), some notion of C, Go and Rust