Skip to main content

Architecture Overview

OpenTree uses an Electron multi-process architecture with four layers:

Layer Description

LayerResponsibilityTechnology
RendererUI rendering, user interactionReact 18 + TypeScript
IPC LayerInter-process communicationElectron contextBridge
Data LayerData persistenceSQLite + Sequelize
BackendAPI service, scheduled tasksNode.js + Express

Process Model

Main Process
├── Renderer 1: World Tree Panel
├── Renderer 2: Metaverse Desktop
├── Renderer 3: Standalone windows (e.g., album preview)
└── Worker Thread: Background tasks

Data Flow

Read Data

UI Component -> electronAPI.module.getAll()
-> IPC invoke
-> Main Process handler
-> SQLite query
-> Return result
-> Render component

Write Data

UI Component -> electronAPI.module.create(data)
-> IPC invoke
-> Main Process handler
-> SQLite INSERT
-> Emit data-changed event
-> All renderer processes update