Medusa is an open-source bidirectional micro-frontend framework built in Java, on top of Spring Reactive, RSocket and Thymeleaf.
It is designed to help teams build complex user interfaces by breaking them down into smaller, more manageable services, or micro-frontends. Use in combination with Hydra 🐲 for a seamless and resilient micro-frontend experience.
Our major goals are to dramatically close the distance between front-end and back-end, remove the need for Javascript for standard usecases, and use bi-directionality to provide an enhanced development and users experience.
To get started with Medusa UI, we recommend checking out our quickstart template repo. This template provides a basic Medusa UI app that you can use as a starting point for your own development.
If you want to see some of the capabilities that Medusa UI offers out of the box, head over to our component showcase. This showcase provides a live demo of the different UI components that you can use in your own apps.
Add the maven dependency to an existing Spring Reactive project:
<dependency>
<groupId>io.getmedusa</groupId>
<artifactId>medusa-ui</artifactId>
<version>0.9.5</version>
</dependency>
And you're done. After installing Medusa in your app, you can just write Thymeleaf, extend it with Medusa tags, and you'll see your components interacting directly with the controller. You only write Java and HTML.
Our component showcase page is available with live samples.
This repo contains the framework code. It is build up out of two major components: medusa-showcase and medusa-ui.
Medusa-ui is the actual framework. Medusa-showcase is the component showcase deployed for live samples.
You can build both via a simple maven build:
mvn clean install
For more information about the internal workings of Medusa UI, check out our documentation. This documentation provides detailed information about how Medusa UI is built and how it can be used to build powerful micro-frontends.