The evitaLab is initialized from the main.ts
file where all modules, Vue plugins and other things are initialized and
put together.
The entire codebase is structure into modules that communicate between each other. In this case, modules are not JS modules, they are more of semantic separation of domains into standalone directories.
There are three types of modules (again just a semantic separation):
- abstract module - provides common abstract services, models, UI component for other concrete modules
- examples are:
base
driver-support
console
- examples are:
- generic module - provides a generic functionality for evitaLab features
- examples are:
config
connection
workspace
- examples are:
- specific feature module - provides a specific feature for the user of evitaLab
- examples are:
entity-viewer
evitaql-console
schema-viewer
- examples are:
Vue plugins are registered globally from vue-plugins
directory in the main.ts
file while bootstrapping.
There static resources for building the UI.
Contains generic utilities for the codebase.
The main.ts
is responsible for initializing the entire evitaLab. It initializes the Vue App, Vue plugins and modules.
In conjunction, the Lab.vue
is the main Vue component registering basic router components.
There is also support for initializing the modules.