Skip to content

Develop Correo

Frieder edited this page Feb 6, 2024 · 16 revisions

Basic architecture

Correo is a mono repo, this means we have four submodules.

  • di - Dependency Injection SoyDI
  • core - Things not related to JavaFX and UI
  • gui - JavaFX desktop ui
  • plugins - Hold further packages containing the bundled plugins.

DI (org.correomqtt.di)

In this package our dependency injection SoyDI can be found. This also handles our event system. DependencyInjection

Core (org.correomqtt.core)

  • All real mqtt communication lives here
  • Multithreading for running background tasks
  • NO JavaFX dependency
  • Uses Pojos for DTOs: DTOs-and-Transformer
  • How to call MQTT functionality: Develop-MQTT-Hive

GUI (org.correomqtt.gui)

  • Communcation with core must be done using Tasks and Events from DI.
  • The gui lives in the JavaFX application thread
  • All work that is not related directly to the ui is outsourced to business
  • Main UI Approach Main-UI
  • Contextmenu Contextmenu-UI
  • List/Tables and Cells Tables-and-Cells
  • Uses JavaFX properties for DTOs: DTOs-and-Transformer
  • How to implement a theme? Create-Theme

Configuration

Plugins

JavaDoc

https://exxeta.github.io/correomqtt/javadoc/