Spinalcore standard library organization
Intelligent system powered by spinalcom are using a model/process architecture, which can be seen as a extension of a model/view architecture. The model and process are defined in the Overview page and can be summarized like this :
- model = digital twin: the data structure or object that represent the reality, and that will be automatically synchronized through all the organs of the system thanks to Spinalcore object replication system
- process = organs: the process are distributed in all the organs of the system/ Each process can react to any model modification thanks to Spinalcore distributed event management system. We distinguish four types of process (organs) as described in the overview :
- UI
- analtyics
- database, storage & retrieval
- monitoring & actionning
When building a spinal system, you are going to define the system architecture (list and function of the organs that contains specific process) and the digital twin architecture.
The first objective of this framework and best practices page is to help you organizing your developments so you can easily and quickly build a powerful intelligent system.
The second objective is to give you a good understanding of the predefined tools that spinalcom has designed for you to help developing intelligent system with real time capabilities for 3D, documentation, messaging, monitoring…. We call these predefined tools the environments. As today we provide 3 “browser” environment :
- admin environment
- drive environment
- 3D viewer environment (Based on Autodesk Forge open source viewer)
In order to organize the development we have developed a framework and a naming convention for all the repositories of the plateforme that respect :
- the intelligent system definition provided in the overview
- the fact that we use npm as our main package manager
- the necessity to organize the sources of the organs that correspond to web pages in a place where the Spinalhub web server can find and serve them.
Framework
Naming conventions
package name | desciption | examples |
---|---|---|
spinal-core-... | repositories for the hub and javascript connector | spinal-core-hub, spinal-core-connectorJS |
spinal-model-... | repositories where the models are defined | spinal-model-graph, spinal-model-visas... |
spinal-organ-... | repositories where you define the source of your specific process | |
spinal-browser-... | repositories where you define the source of your specific web page process that will be served by spinalhub web server (the web browser organs) | |
spinal-env-... | repositories that contained the source of the prédefined environment provided by spinalcom | spinal-env-drive, spinal-env-admin, spinal-env-viewer |
spinal-env-...-plugin-... | repositories where you define the plugin processes that work on top of the environments | spinal-env-drive-plugin-log spinal-env-viewer-plugin-doc |
spinal-env-...-join-... | repositories that define how to “join” the environment plugins with the environments |