The Community Edition is the product, not a demo. It runs a full URL shortening service on your own infrastructure with no feature timer, no usage ceiling and no telemetry.

What you get

ModuleContent
coredomain model, DTOs, validation, JSON
serverREST admin API and redirect server — JDK HttpServer, jSentinel security, EclipseStore persistence
clientJava SDK for the REST API
uiVaadin admin interface

Features. Short links with custom aliases and expiration, the redirect service, click statistics (device, referrer, language, bot detection over a hashed IP), user management with roles and permissions, bulk creation, import and export, and a full REST API with a Java client SDK.

Build it yourself

./mvnw clean verify

The reactor runs the complete test suite, including the end-to-end and security suites — these start a real server in-process rather than mocking it. All persistent test state is written below target/, so mvn clean resets everything.

Extension points

The community edition publishes the seams the Enterprise Edition plugs into. They are ordinary Java SPIs, so your own plug-ins can use them too:

  • Server — com.svenruppert.urlshortener.api.extension: HandlerContribution with a ServerContext, plus lifecycle hooks for create-time metadata, delete cascades and list filters. Contributed endpoints run behind the standard security pipeline; duplicate paths fail fast at startup.
  • UI — com.svenruppert.urlshortener.ui.vaadin.extension: FeatureContribution contributes routes, drawer entries, navbar components and sections in the link create form and details dialog. Contributed routes are registered dynamically under the main layout.

License

EUPL-1.2 — the European Union Public Licence. jSentinel Ltd additionally offers this code base under commercial license terms; contributions are accepted under the DCO plus an additional license grant.