Blended Management UI
This project contains the Scala.js project implementing a management console that can be used as a client to a blended container hosting the blended management REST Api.
The overall project contains several subprojects:
contains reusable objects which may be of use in any Scala.js/react4s application such as a simple logger and internationalization support.
contains reusable higher level React components, such as a ReactTable.
contains a simple generator which reads the
files of Material-UI React and generates simple Scala.js wrappers to use those components in Scala.js / react4s.
uses the generated components and is the place to enrich the Material-API manually to make it more Scala-ish. For now the manual code is around customizing the styles used in Material-Ui-React-Components.
is essentially taken from https://github.com/werk/router4s with some more options for variable paths and some test cases. Once the management console reaches it’s final stages the changes will be contributed back to the original project.
contains the actual management console.
contains a sample application that can be used as a playground to test out React Components without breaking the management console. Over time this subproject will become obsolete.
contains the setup for testing the management console with Selenium. For now it just has a very simple test and the setup. The test performs tests on the management console built wih
and requires the SeleniumDriver for Chrome to be set up correctly. Test can be executed with
contains a simple server based on Akka-HTTP which will serve the management console resources via Akka-HTTP. The resulting jar can be deployed into a container which is hosting the blended Akka-HTTP-Server bundle.
The fastest way to build the management console ist to start sbt and run
. This will build everything into the directory
The build process will copy the file
into that directory as well, so the management console can be started by loading the
file in a browser.
In IntelliJ, simply navigate to the
The management console requires a running managemen container hosting the REST- and WebSocket API to connect to.
During development you can use sbt in file watching mode with
, so that the management console is rebuilt and repackaged whenever code changes are saved to disk. After the rebuild ,simply refresh the browser page to load the new version.
The server bundle can be built simply with
to produce the OSGi deployable bundle.
to execute all Unit- and Selenium-Tests.
to publish all relevant artifacts in the local maven repository. This is required to use the server bundle in a management container packaging.