An open API service indexing awesome lists of open source software.

vertx-awesome

A curated list of awesome Vert.x resources, libraries, and other nice things.
https://github.com/vert-x3/vertx-awesome

Last synced: 19 days ago
JSON representation

Articles

Authentication Authorisation

  • Vert.x Auth JWT - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Vert.x Authorisation based on JSON Web Tokens.
  • Vert.x Auth htdigest - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Vert.x Authorisation/Authentication based on Apache htdigest.
  • Vert.x Auth Mongo - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Vert.x Authorisation/Authentication based on MongoDB.
  • Vert.x Auth OAuth2 - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Vert.x Authorisation/Authentication based on OAuth 2.
  • Vert.x Auth htpasswd - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Vert.x Authorisation/Authentication based on htpasswd.
  • Vert.x Auth SQL - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Vert.x authentication/authorisation based on the Vert.x SQL client and a relational database.
  • Vert.x-Pac4j - Vert.x authentication/authorisation implemented using pac4j.

Books

Build tools

Cloud Support

  • OpenShift DIY cartridge - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - OpenShift DIY Cartridge using Vert.x.
  • OpenShift Vert.x cartridge - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - OpenShift Vert.x Cartridge using Vert.x.
  • AWS SDK - Use AWS Java SDK v2 (async) with Vert.x

Cluster Managers

Community

  • Developer Group - A group for Vert.x core developers and contributors.
  • Discord Server - Chat about any Vert.x-related topic.
  • Issues - Vert.x core issue tracker.
  • Wiki - Contains useful information about Vert.x.
  • Blog - The official Vert.x blog containing many tutorials and other information.

Config

Database Clients

  • SirixDB - Non-blocking SirixDB HTTP-server.
  • Reactive SQL Client - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - High performance reactive SQL client.
  • JDBC - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Asynchronous interface around a JDBC datasource.
  • MySQL / PostgreSQL - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Asynchronous Client for MySQL/PostgreSQL.
  • PostgreSQL - Reactive PostgreSQL Client.
  • database - Client for Oracle, PostgreSQL, SQL Server, HyperSQL, etc. designed for security, correctness, and ease of use.
  • jOOQ - Doing typesafe, asynchronous SQL and generate code using jOOQ.
  • jOOQx - Leverages the power of typesafe SQL from jOOQ DSL and uses the reactive and non-blocking SQL driver from Vert.x.
  • MongoDB - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - An asynchronous client for interacting with a MongoDB database.
  • Redis - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Asynchronous API to interact with Redis.
  • Cassandra - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - A Vert.x client allowing applications to interact with a Cassandra service.
  • Cassandra - Asynchronous API to interact with Cassandra and Cassandra Mapping.
  • OrientDB - Non-blocking OrientDB server integration.
  • Bitsy - Non-blocking Bitsy Graph server integration.
  • MarkLogic - Asynchronous client for Marklogic Database Server.
  • DGraph - An example on how to build a Vert.x gRPC compliant client. Here targeting dgraph
  • RxFirestore - Non-blocking Firestore SDK written in a reactive way.
  • Aerospike - Asynchronous and non-blocking API to interact with Aerospike server. Uses AerospikeClient's async commands internally and handles the result on the Vert.x Context.
  • vertx-pojo-mapper - Non-blocking POJO mapping for MySQL and MongoDB.
  • vertx-mysql-binlog-client - A Vert.x client for tapping into MySQL replication stream.
  • MongoDB - Pure functional and reactive MongoDB client on top of Vert.x Effect. Full support for retry, fallback and recovery operations.
  • Exposed Vert.x SQL Client - Kotlin's Exposed on top of Vert.x Reactive SQL Client.
  • Cassandra - Asynchronous API to interact with Cassandra and Cassandra Mapping.
  • SirixDB - Non-blocking SirixDB HTTP-server.
  • Neo4j Java Driver Vert.x - Vert.x wrapper around the Neo4j Java Driver.

Dependency Injection

  • QBit - QBit works with Spring DI and Spring Boot (and of course Vert.x). Allows you to use QBit, Vert.x, Spring DI and Spring Boot in the same application.
  • Vert.x Eclipse SISU - Vert.x integration with Eclipse SISU DI container.
  • Vert.x Guice - Vert.x verticle factory for Guice dependency injection.
  • Vert.x HK2 - Vert.x verticle factory for HK2 dependency injection.
  • Spring Vert.x Extension - Vert.x verticle factory for Spring DI injection.
  • Vert.x Beans - Inject Vert.x objects as beans into your Spring application.
  • Vert.x Spring Verticle Factory - A Vert.x Verticle Factory that makes use of Spring to obtain and configure Verticles.
  • Glue - Proven and opinionated programming, and configuration model for Java and Vert.x based applications. Inspired from ATG Nucleus, provides powerful layer base configuration management using simple properties file.
  • Vert.x Guice - Vert.x verticle factory for Guice dependency injection.
  • Vert.x HK2 - Vert.x verticle factory for HK2 dependency injection.

Deployment

Development Tools

  • slush-vertx - A template driven Vert.x project generator for different languages and build tools.
  • Vert.x Starter - A browser-based project starter and project templates for Vert.x applications.
  • Vert.x shell - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Allows for interaction with Vert.x from the command line.
  • Vert.x health check - Allows for remote health checking in Vert.x projects.
  • Vert.x Hot - A Maven plugin for the hot-deploy of Maven Vert.x projects.
  • Vert.x for Visual Studio Code - A Visual Studio Code (polyglot) plugin for Vert.x. Also available from the Marketplace.
  • Vert.x LiveReload - A simple livereload server for Vert.x applications.
  • openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3).

Distribution

  • Vert.x Stack - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Vert.x + the endorsed modules.

Examples

Front-End

  • VertxUI - A pure Java front-end toolkit with descriptive fluent views-on-models, POJO traffic, JUnit testing on the virtual DOM or mixed-language on a real DOM, and more.

Game development

  • Orbital - Vert.x based reactive distributed game server and battle-royale multiplayers development tool. Orbital contains basic extensible matchmaker, game/game room management, websocket integration and game lifecycle management features. Closest to "Colyseus" game engine competitor. Docs.

Integration

  • openapi4j adapter for Vert.x - OpenAPI 3 request validator and router factory alternative.
  • jEaSSE - Java Easy SSE. A simple, lightweight implementation of SSE.
  • vertx-sse - Vert.x SSE implementation + event-bus SSE bridge.
  • SMTP - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Async SMTP client.
  • vertx-smtp-server - SMTP server bridging to EventBus.
  • Retrofit adapter for Vert.x - A highly scalable adapter for Retrofit with Vert.x.
  • Vert.x TFTP Client - TFTP client for Vert.x support download/upload files.
  • AMQP 1.0 - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Interact with AMQP 1.0 servers using the Vert.x Producer and Consumer APIs.
  • MQTT - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Provides two different components: an MQTT server for handling all the MQTT communication and messages exchanges with clients and an MQTT client for sending and receiving messages against an MQTT broker.
  • RabbitMQ - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - A RabbitMQ client (AMQP 0.9.1).
  • Vert.x Kafka Client - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Apache Kafka client for reading and sending messages from/to an Apache Kafka cluster.
  • kafka - Kafka client for consuming and producing messages.
  • SaltStack - A bi-directional bridge between the SaltStack event system and the Vert.x event bus.
  • STOMP - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - A Kafka client and server.
  • ZeroMQ - ZeroMQ Event Bus bridge.
  • Azure ServiceBus - Azure ServiceBus producer and consumer (fully async, doesn't use Microsoft Azure SDK).
  • The White Rabbit - An asynchronous RabbitMQ (AMQP) client based on Kotlin coroutines.
  • WAMP Broker - A WAMP broker you can embed into your Vert.x application.
  • JCA adaptor - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Java Connector Architecture Adaptor for the Vert.x event bus.
  • Weld - Brings the CDI programming model into the Vert.x ecosystem (register CDI observer methods as Vert.x message consumers, CDI-powered Verticles, define routes in a declarative way, etc.).
  • Meteor - Meteor integration support through Vert.x event bus.
  • Hawkular metrics - Hawkular implementation of the Vert.x Metrics SPI.
  • DropWizard metrics - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Metrics implementation using DropWizard metrics.
  • Micrometer metrics - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Metrics implementation using Micrometer metrics.
  • OpenTsDb Metrics - OpenTsDb metrics client for Vert.x.
  • Bosun Monitoring - Bosun client library for Vert.x.
  • Vert.x Dart SockJS - Dart integration for Vert.x SockJS bridge and plain SockJS with use of dart:js.
  • Onesignal - Send push notifications to (mobile/web) apps from your Vert.x application with OneSignal.
  • CloudEvents.io Java SDK - Send and receive CloudEvents using the Vert.x HTTP Transport for CloudEvents.
  • The White Rabbit - An asynchronous RabbitMQ (AMQP) client based on Kotlin coroutines.
  • Meteor - Meteor integration support through Vert.x event bus.
  • AMQP 1.0 - Kafka bridge - Bridge for sending/receiving messages to/from Apache Kafka using the AMQP 1.0 protocol.
  • Hystrix Metrics Stream - Emits metrics for Hystrix Dashboard from a Vert.x application with Hystrix.

Language Support

  • Ceylon - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Ceylon support.
  • Groovy - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Groovy support.
  • JavaScript - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - JavaScript support.
  • Python - Python support.
  • Ruby - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Ruby support.
  • Scala - - Scala support.
  • Kotlin - - Kotlin support.
  • EcmaScript - EcmaScript >=6 (JavaScript) support.
  • Php - Php support.
  • Grooveex - Syntactic sugar + utilities (DSL builders, etc.) on top of vertx-lang-groovy.
  • Java - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Vert.x main repository (including the Java API).

Microservices

  • Failsafe - Failsafe is a lightweight, zero-dependency library for handling failures in Java 8+. Concise API. Integration with libraries that use their own schedulers for async executions, such as Akka or Vert.x. Vert.x example
  • Service Discovery - Redis backend - favicon.svg" alt="(stack)" title="Vert.x Service Discovery - Redis backend" height="16px"> - Redis storage backend for Vert.x Service Discovery.
  • Circuit Breaker - favicon.svg" alt="(stack)" title="Vert.x Circuit Breaker" height="16px"> - Vert.x Circuit Breaker.
  • Vert.x GraphQL Service Discovery - GraphQL service discovery and querying for your Vert.x microservices.
  • Resilience4j - Resilience4j is a fault tolerance library designed for Java8 and functional programming. Resilience4j provides modules for Circuit Breaking, Rate Limiting, Bulkheading, Automatic retrying, Response caching and Metric measuring.
  • Autonomous Services - A toolkit for creating autonomous services. An architecture that leverages vert.x and nannoq-tools to provide an event-based reactive architecure without centralized components, neither for communication or data, providing a theoretically linear scalability across the architecture.
  • Apache ServiceComb Java Chassis - ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features.
  • SmallRye Fault Tolerance - SmallRye Fault Tolerance is an implementation of Eclipse MicroProfile Fault Tolerance with additional features not defined by the specification. Native support of Vert.x and Mutiny.
  • GuicedEE - JPMS-first Java platform built on Guice and Vert.x 5 for modular, reactive, enterprise applications. Provides MicroProfile Config, Health, Metrics, OpenAPI, REST, persistence, and more out of the box.

Middleware

  • Apache Camel - Apache Camel component for bridging Camel with the Vert.x event bus.
  • Gravitee.io - An OSS API Platform including an API Gateway and an OAuth2 / OIDC authorization server based on Vert.x Core / Vert.x Web and other modules.
  • Apache Camel - Apache Camel component for bridging Camel with the Vert.x event bus.
  • Gateleen - Middleware library based on Vert.x to build advanced JSON/REST communication servers.
  • API Framework - Vert.x and Glue based microservice framework removing distinction between standalone and serveless application. All services can run in standalone server, but, if required, same codebase can be used to run any service as serverless application.
  • Apache Camel - Apache Camel component for bridging Camel with the Vert.x event bus.
  • Apache Camel - Apache Camel component for bridging Camel with the Vert.x event bus.
  • Apache Camel - Apache Camel component for bridging Camel with the Vert.x event bus.
  • Apache Camel - Apache Camel component for bridging Camel with the Vert.x event bus.

Miscellaneous

  • Vert.x Boot - Deploying verticles from a HOCON configuration.
  • Vert.x Child Process - Spawn child process from Vert.x.
  • vertx-redisques - A highly scalable redis-persistent queuing system for Vert.x.
  • Simple File Server - An OpenStack Swift compatible distributed object storage server that can serve and securely store billions of large and small files using minimal resources implemented using Vert.x.
  • GDH - Generalized Diffie-Hellman key exchange Java library built on top of Vert.x.
  • vertx-values - Send immutable and persistent JSON from json-values across the event bus.
  • vertx-redisques - A highly scalable redis-persistent queuing system for Vert.x.
  • Vert.x Child Process - Spawn child process from Vert.x.

Presentations

Reactive

  • Kotlin coroutines - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Vert.x support for Kotlin coroutines.
  • SmallRye Mutiny - Intuitive event-driven reactive programming library for Java with bindings for Vert.x.
  • Vert.x Effect - Pure functional and reactive library based on the IO Monad to implement any complex flow. Full support for retry, fallback and recovery operations.
  • Reactive Streams - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Vert.x Reactive Streams.
  • Vert.x Rx - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Vert.x Reactive Extensions.
  • vertx-util - Light weight promises & latches for Vert.x.
  • VxRifa - Utility library for Vert.X that allows using strong-typed interfaces in communication through EventBus.

Search Engines

Service Factory

  • Service Factory - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Vert.x Service Factory.
  • Maven Service Factory - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Maven Vert.x Service Factory.
  • HTTP Service Factory - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Vert.x HTTP Service Factory.
  • Node.js Service Factory - Vert.x Node.js Service Factory.

Sync Thread Non Block

  • Sync - Synchronous but non-OS-thread-blocking verticles.

Testing

  • Vert.x Unit - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Async polyglot unit testing for Vert.x.
  • Vert.x JUnit5 - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Async unit testing for Vert.x with junit5.
  • Vert.x WireMongo - Lightweight MongoDB mocking for Vert.x
  • Vert.x JUnit5 - favicon.svg" alt="(stack)" title="Vert.x Stack" height="16px"> - Async unit testing for Vert.x with junit5.

Tutorials

Utilities

  • Chime - Time scheduler working on Vert.x event bus allowing for scheduling with cron-style and interval timers.
  • Vert.x Cron - Schedule events with cron specifications. Has event bus and Observable versions.
  • Vert.x CronUtils - An abstraction of cron-utils for the vertx scheduler. Unix, Cron4j and Quartz style expressions are supported.
  • Vert.x Scheduler - A lightweight plugable scheduler based on plain Vert.x core without any external libs for scheduling with cron-style and interval timers with a detail monitor on both sync and async task.
  • Vert.x POJO config - Allows for mapping between standard JSON configuration and a (type-safe) configuration Java bean. Also allows the configuration bean to be validated through JSR 303.
  • Vert.x Async - Portage of caolan/async nodejs module to Vert.x framework that provides helpers methods for common async patterns.