-
-
Notifications
You must be signed in to change notification settings - Fork 1
Architecture
Open Manuscript Studio keeps scholarly structure independent from presentation, platform packaging, and external publishing workflow state.
flowchart TB
Core["Shared OMI Studio core<br/>React · TypeScript · Tiptap · Zustand"]
Web["Web client<br/>Vite · Browser"]
Native["Native clients<br/>Tauri 2 · Rust"]
API["Studio API<br/>Node.js · Express · Zod"]
Data["PostgreSQL<br/>Prisma · migrations"]
External["External systems<br/>OJS · OMP · ORCID · OIDC · storage · language/AI"]
Core --> Web
Core --> Native
Web --> API
Native --> API
API --> Data
API --> External
The frontend owns semantic manuscript editing, the document model, application state, import/export, publication styles, localization, and responsive user interfaces. Desktop and mobile are adapters around the same core rather than separate products.
Important source areas:
-
src/model/,src/types/, andsrc/schemas/— OMI data and validation -
src/editor/— Tiptap editing and semantic extensions -
src/document/— document behavior, publication styles, and rendering support -
src/app/andsrc/store/— application and manuscript state -
src/mobile/— responsive/native navigation and platform adapters -
src/integrations/— client-side integration handoffs
src-tauri/ provides Windows, Linux, macOS, Android, and iOS/iPadOS packaging and native capabilities. File access uses platform-native pickers and narrowly scoped permissions. Android uses the Storage Access Framework; iOS/iPadOS uses Files/UIDocumentPicker security-scoped access.
server/src/ is an Express 5 TypeScript service. It provides accounts, sessions, federated identity, institutional administration, peer review, proofreading, imports, cloud storage, and external publishing-system integration routes. Zod validates configuration and request boundaries.
Prisma manages two PostgreSQL schemas and migration histories:
- the application database for Studio accounts, review state, publishing connections, cloud connections, and integrations;
- the identity database for portable profiles, institution membership, central administration, and identity-service state.
These stores remain isolated from OJS/OMP databases. Integration happens across signed, versioned HTTP contracts rather than direct cross-database access.
- Manuscripts and review assignments remain local to the relevant Studio/publishing installation.
- Central identity must not expose the scholarly review graph.
- OJS or OMP remains authoritative for its submission workflow, rounds, assignments, and editorial decisions.
- Integration secrets stay on the server and are encrypted at rest.
- Administrative authority does not automatically grant manuscript or peer-review access.
- Browser and native clients never connect directly to PostgreSQL.
The following identifiers must not be conflated:
- Studio application version
- native store/package build number
- portable OMI schema/model version
- individual integration protocol/profile version
An application release may require no OMI migration. Schema changes require an explicit migration path and compatibility tests.