Merge branch 'feat/inda-347-host-update' into 'main'
[ProtonMail-WebClient.git] / packages / docs-core / README.md
blob900b4a4aa62f0d90c54e4ad592d658de0cba43d1
1 # docs-core
3 Core library for business logic for Docs.
5 ## Architecture
7 ### Application
9 The entrypoint to the library is the `Application` instance. The Docs client creates a new Application() instance to interact with docs-core services and controllers.
11 The Docs client, which has relatively slim interaction with the library (compared to the editor), interact with the library via only the exposed methods of `ApplicationInterface`.
13 The editor sandbox on the other hand interacts with the EditorBridge in the library, and the bridge accesses the library via the EditorOrchestrator.
15 ### Services and controllers
17 Services are classes that manage many resources, such as many comments in the `CommentService`, or allow for operations on disparate inputs, such as the `EncryptionService`.
19 Controllers on the other hand are services that control just 1 item, such as the `DocController` which controls a single document.