System Architecture

The diagram above shows the overall architecture of the MineACT system. We're able to divide the system architecture into two parts: the front-end (further divided into the clinician side and the therapy recipient side) and the back-end (where all the server processes take place).

  1. Using Voiceflow, the clinician is able to make a conversation based around ACT. They are then able to export it as a .VF file, which contains the necessary JSON, and then place it in the server files for it to be parsed by the plugin.
  2. The therapy recipient, through Minecraft will enter inputs which will then be processed by the Java plugin.
  3. At the startup of the server, the plugin will call the Python script by using ProcessBuilder to capture all the intents from the linked Google Sheet. This is done by making a GET request through the API endpoint URL given through NoCodeAPI. This will be retrieved as JSON. The intents will be retrieved from the JSON and stored into a list which will be stored for later use.
  4. When the user inputs a string through Minecraft, the plugin will see if an intent from the Google Sheet exists as a substring within the user's input. If this is found to be True, then the plugin will parse the conversation into Minecraft. Else, it will keep waiting for an input.
  5. Spigot will handle all the requests and responses of the server. This is the server API which allows you to connect plugins to a Minecraft server.

Sequence Diagram

The diagram above shows the sequence diagram for the MineACT system. This describes a single cycle of use of using the plugin.

UML Diagram

The diagram above shows the UML diagram for the MineACT system. This describes how different classes and methods interact with each other.