Learn more about the modular architecture of the Jovo Framework.
v2, the Jovo Framework has a flexible and extensible architecture that is split into different modules.
With every request and response interaction pair, the framework runs through the following process:
||First initialization of
||Raw JSON request from platform gets processed. Can be used for authentication middlewares.|
||Determines which platform (e.g.
||Natural language understanding (NLU) information gets extracted for built-in NLUs (e.g.
||Request gets routed through external NLU (e.g.
||Initialization of user object. User data is retrieved from database.|
||Request and NLU data (intent, input, state) is passed to router. intentMap and inputMap are executed. Handler path is generated.|
||Handler logic is executed. Output object is created and finalized.|
||User gets finalized, DB operations.|
||Platform response JSON gets created from output object.|
||Response gets sent back to platform.|
||Errors get handled if applicable.|
jovo-core package contains the interfaces of all of the main concepts of Jovo:
jovo-framework package is the main implementation of the Jovo Framework, and the probably most visible module for users. It contains all the relevant implementations for building an app with Jovo, like
JovoUser, as well as logging, hosting, and integration capabilities.
jovo-integrations packages offer several implementations of voice platforms, plugins, and other integrations like databases or analytics.
Platforms like Amazon Alexa or Google Assistant have the prefix
jovo-platform-, and currently include:
Database integrations like DynamoDB or MySQL have the prefix
jovo-db-, and currently include:
Analytics integrations like Dashbot or Botanalytics have the prefix
jovo-analytics-, and currently include:
General plugins have the prefix
jovo-plugin-, and currently include:
Any specific questions? Just drop them below. Alternatively, you can also fill out this feedback form. Thank you!