Yoja
Get started Modules GitHub

Modules

  • Overview
  • yoja-core
  • yoja-http-server
  • yoja-http-client
  • yoja-reverse-proxy
  • yoja-selenium
  • yoja-web

Documentation

  • Home
  • Get started

Home / Modules

Modules

Yoja ships as a set of independent Gradle modules under com.easygoingapi. Every module is documented on its own page, with installation, quick-start, and the full public API.

Server-side

yoja-core

yoja-core

The runtime foundation: YojaApp (Vert.x bootstrap), Worker (thread pools), Timer (scheduling), HTTP primitives shared by every other module.

yoja-http-server

yoja-http-server

Declarative router with sessions, WebSocket dispatching, static resource serving (from jars or folders), request/response hooks, and TLS hot-reload.

yoja-http-client

yoja-http-client

Fluent GET/POST builders, automatic Content-Type selection from the body's runtime type, a WebSocket dialer, and a shared engine that owns the connection pool.

yoja-reverse-proxy

yoja-reverse-proxy

Host- and path-based routing to one or many upstreams, with least-loaded port selection, path rewriting, SSL termination, and a token-protected admin API to swap rules at runtime.

Frontend

yoja-web

yoja-web

Section-based components in plain ES6 modules. HTML attributes (yw-controler, yw-css, yw-language, yw-slot, yw-include) declare component boundaries and pull in external HTML fragments; JS classes hydrate them. No virtual DOM, no build step.

Testing

yoja-selenium

yoja-selenium

Browser-driven tests with a fluent TestBuilder: pick a browser, start an embedded server, run named JS exports as test steps, capture browser logs, integrate as JUnit 6 dynamic tests.

Yoja Framework · Apache License 2.0 · GitHub