Medusa

screenshot of Medusa

Server-rendered, bi-directional, micro-frontend Java framework built on top of Spring Boot and Thymeleaf

Overview

Medusa is an innovative open-source bidirectional micro-frontend framework that leverages the power of Java, built upon Spring Reactive, RSocket, and Thymeleaf. With Medusa, development teams can create complex user interfaces by breaking them down into smaller, manageable micro-frontends, allowing for easier collaboration and maintenance. This framework significantly minimizes the need for JavaScript in standard use cases while enhancing both developer and user experiences through its bi-directional capabilities.

Medusa works seamlessly in conjunction with Hydra, offering a resilient micro-frontend environment. Whether you're starting a new project or integrating Medusa into an existing application, it provides a quick-start template to streamline your development process and a rich showcase to demonstrate its versatile components.

Features

  • Open-Source Framework: Built entirely in Java, Medusa is open-source, making it accessible for teams to adapt and contribute to its continued improvement.
  • Bidirectional Communication: The framework efficiently supports two-way data flow, enhancing interactivity between the front-end and back-end components.
  • No JavaScript Required: Standard use cases can be handled without JavaScript, relying instead on Java and HTML, which simplifies the development process.
  • Thymeleaf Integration: Medusa extends Thymeleaf functionality with specific tags, enabling seamless interaction between components and controllers.
  • Component Showcase: A live demo platform illustrates the capabilities of various UI components, giving developers a clear reference for their projects.
  • Simple Installation: Adding Medusa to an existing Spring Reactive application can be done effortlessly by including a Maven dependency.
  • Comprehensive Documentation: Extensive internal documentation is available, providing insights into framework construction and effective usage for building micro-frontends.