forked from roc-streaming/roc-droid
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- add mkdocs.yml - change folder structure in docs/: architecture/, development/, _diagrams/, _screenshots/ - source code links converted to absolute links - naked links converted to <links>
- Loading branch information
Showing
22 changed files
with
81 additions
and
105 deletions.
There are no files selected for viewing
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Agent | ||
|
||
TODO - add a description of the agent module when it becomes clear |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,36 +1,31 @@ | ||
# Model architecture | ||
|
||
**Table of contents:** | ||
|
||
- [Model architecture description](#model-architecture-description) | ||
- [Model tree](#model-tree) | ||
# Model | ||
|
||
## Model tree | ||
|
||
![](/docs/images/model.png) | ||
![](/_diagrams/model.png) | ||
|
||
The roc-droid `Model` module is responsible for managing the data model of the application's graphical interface. Data changes in the model are initiated by the `Agent` module and then utilized by the `UI` module. | ||
|
||
Description of the model tree: | ||
|
||
* The roc-droid client application's model is based on the `ModelRoot` class, highlighted in violet. | ||
|
||
* Class implementation: [ModelRoot](/lib/src/model/model_root.dart) | ||
* Class implementation: [ModelRoot](https://github.com/roc-streaming/roc-droid/tree/main/lib/src/model/model_root.dart) | ||
|
||
* The `ModelRoot` class itself is derived from two base classes: `Receiver` and `Sender`, both highlighted in red. | ||
|
||
* The red classes contain `@observable`, `@computed` fields and `@action` methods provided in the `Mobx` package. | ||
|
||
* Receiver implementation: [Receiver](/lib/src/model/receiver.dart) | ||
* Receiver implementation: [Receiver](https://github.com/roc-streaming/roc-droid/tree/main/lib/src/model/receiver.dart) | ||
|
||
* The Receiver has its own automatically generated code for the correct operation of `Mobx`: [receiver.g.dart](/lib/src/model/receiver.g.dart) | ||
* The Receiver has its own automatically generated code for the correct operation of `Mobx`: [receiver.g.dart](https://github.com/roc-streaming/roc-droid/tree/main/lib/src/model/receiver.g.dart) | ||
|
||
* Sender implementation: [Sender](/lib/src/model/sender.dart) | ||
* Sender implementation: [Sender](https://github.com/roc-streaming/roc-droid/tree/main/lib/src/model/sender.dart) | ||
|
||
* The Sender has its own automatically generated code for the correct operation of `Mobx`: [sender.g.dart](/lib/src/model/sender.g.dart) | ||
* The Sender has its own automatically generated code for the correct operation of `Mobx`: [sender.g.dart](https://github.com/roc-streaming/roc-droid/tree/main/lib/src/model/sender.g.dart) | ||
|
||
* The `Logger` class is managed by the Flutter `logger` package and is highlighted in yellow. | ||
|
||
* The `CaptureSourceType` enumerator control the type of capture source and is colored gray. | ||
|
||
* enum implementation: [CaptureSourceType](/lib/src/model/capture_source_type.dart) | ||
* enum implementation: [CaptureSourceType](https://github.com/roc-streaming/roc-droid/tree/main/lib/src/model/capture_source_type.dart) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# Overview | ||
|
||
![](/_diagrams/architecture.png) | ||
|
||
roc-droid is responsible for implementing and managing the functionality of the roc-toolkit logic in the form of an application. | ||
|
||
The roc-droid implementation is comprised of three modules: | ||
|
||
* [**UI**](/architecture/ui) – (`lib/src/ui`): This module is responsible for rendering the user interface and handling user interactions with the application functionality. | ||
|
||
* [**Model**](/architecture/model) – (`lib/src/model`): This module contains all the primary classes and entities necessary for updating the visual display of the graphical interface. | ||
|
||
* [**Agent**](/architecture/agent) – (`lib/src/agent`): This module manages client interaction with the core logic of the roc-toolkit. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Roc Droid | ||
|
||
Welcome to Roc Droid documentation! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
site_name: Roc Droid documentation | ||
copyright: Copyright (c) Roc Streaming authors. | ||
|
||
repo_url: https://github.com/roc-streaming/roc-droid | ||
edit_uri: https://github.com/roc-streaming/roc-droid/edit/main/docs/ | ||
|
||
theme: | ||
name: readthedocs | ||
|
||
nav: | ||
- Home: index.md | ||
- Architecture: | ||
- Overview: architecture/overview.md | ||
- User interface: architecture/ui.md | ||
- Model: architecture/model.md | ||
- Agent: architecture/agent.md | ||
- Development: | ||
- Windows setup: development/setup_windows.md | ||
- Automation: development/automation.md | ||
- Testing: development/testing.md | ||
- Release management: development/release_management.md | ||
- Android notes: development/android_notes.md |