https://github.com/mbari-org/mxm-server
MXM Server component
https://github.com/mbari-org/mxm-server
Last synced: 5 months ago
JSON representation
MXM Server component
- Host: GitHub
- URL: https://github.com/mbari-org/mxm-server
- Owner: mbari-org
- License: apache-2.0
- Created: 2022-08-24T01:26:34.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-27T22:00:51.000Z (about 1 year ago)
- Last Synced: 2024-12-10T10:09:23.752Z (about 1 year ago)
- Language: Java
- Size: 324 KB
- Stars: 0
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Awesome Lists containing this project
README
# Mission Execution Mediation Service
**WIP**
The Mission Execution Mediation Service (MXM) effort seeks to provide a set of
programmatic and user interfaces to integrate mission information across
diverse mission execution systems at MBARI, as well as to support the integration
of third-party applications, in particular to facilitate extended planning
capabilities on MBARI assets
The proposed MXM interfaces will support a unified view of the information in terms
of available mission definitions, parameterization, scheduling, and execution status.
## The MXM ecosystem
The MXM ecosystem consists of the following components:
- MXM Server: the central MXM service where mission execution systems (_providers_)
can be registered to expose all relevant mission information and capabilities for
mission scheduling.
- MXM Webapp: The GUI for the MXM service.
- Providers: The external mission execution systems integrated into the MXM ecosystem.
Each provider implements an MXM Provider API (in full or in part, depending on capabilities)
to support this integration.
## MXM Server
This repo is a [Quarkus](https://quarkus.io/)-based implementation of the MXM Server component.
- Postgres database.
- GraphQL API to support all functionality of the MXM system,
that is, extensively by the MXM Webapp,
but, eventually, also for some specific operations that are initiated by the integrated providers.
- Interaction with registered providers using the MXM Provider REST API.
## Development
Along with your [preferred IDE](https://quarkus.io/guides/ide-tooling),
just a typical Quarkus development workflow:
```
quarkus dev
```
- Type 'r' to run tests ('f' to only run failed tests..)
- Type 'd' to open Dev UI in your browser (from which to open GraphQL UI and other tools)
- Etc.
### Quinoa
Supported by the [Quarkus Quinoa extension](https://github.com/quarkiverse/quarkus-quinoa),
this server is able to launch the UI (mxm-ui) component both during development
(ie., `quarkus dev` also launches `quasar dev`) and in production.
In both cases, the UI code is assumed located at `../mxm-ui`.
### Contributing
Make sure all tests are passing and also run `./mvnw spotless:apply` before committing.
## Initial setup notes
Some initial setup notes [here](misc/initial-setup.md).