Browse Source

docs: Init

pull/348/head
jld3103 2 years ago
parent
commit
90a12ed043
No known key found for this signature in database
GPG Key ID: 9062417B9E8EB7B3
  1. 10
      README.md
  2. 9
      docs/architecture.md
  3. 0
      docs/architecture.puml
  4. 0
      docs/architecture.svg
  5. 2
      tool/generate-assets.sh
  6. 5
      tool/generate-docs.sh

10
README.md

@ -54,15 +54,9 @@ Developing a new Nextcloud client can be as easy as adding some UI and then nece
We have a Matrix space where you can ask questions: https://matrix.to/#/#nextcloud-neon:matrix.org
## Architecture overview
## Documentation
![Architecture overview diagram](assets/architecture.svg)
The framework consists of multiple packages:
- For APIs the nextcloud package provides the implementations. The dynamite generator generates the code using the OpenAPI specs.
- The main package is the neon package that provides widgets and functionality that is useful for building a Nextcloud client. It also manages the global state at runtime so that the app implementations do not have to manage things like multiple accounts for example.
- The individual apps are implemented as separate packages. Those depend on the neon framework and implement a few interfaces so that the neon framework can use them.
- On top of all that sits the app package that injects the relevant app implementations into the framework. It is possible to configure which app implementations should be included and how the app is branded.
See [docs](./docs).
## Platform support

9
docs/architecture.md

@ -0,0 +1,9 @@
# Architecture overview
![Architecture overview diagram](architecture.svg)
The framework consists of multiple packages:
- For APIs the nextcloud package provides the implementations. The dynamite generator generates the code using the OpenAPI specs.
- The main package is the neon package that provides widgets and functionality that is useful for building a Nextcloud client. It also manages the global state at runtime so that the app implementations do not have to manage things like multiple accounts for example.
- The individual apps are implemented as separate packages. Those depend on the neon framework and implement a few interfaces so that the neon framework can use them.
- On top of all that sits the app package that injects the relevant app implementations into the framework. It is possible to configure which app implementations should be included and how the app is branded.

0
assets/architecture.puml → docs/architecture.puml

0
assets/architecture.svg → docs/architecture.svg

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

2
tool/generate-assets.sh

@ -4,7 +4,5 @@ cd "$(dirname "$0")/.."
color="#f37736"
plantuml -tsvg assets/architecture.puml
wget https://raw.githubusercontent.com/Templarian/MaterialDesign/master/svg/cable-data.svg -O assets/logo.svg
sed -i "s/<path /<path fill=\"$color\" /g" assets/logo.svg

5
tool/generate-docs.sh

@ -0,0 +1,5 @@
#!/bin/bash
set -euxo pipefail
cd "$(dirname "$0")/.."
plantuml -tsvg docs/*.puml
Loading…
Cancel
Save