mirror of
https://github.com/localsend/localsend.git
synced 2026-08-07 07:14:52 +00:00
docs: add dependency diagram
This commit is contained in:
@@ -23,10 +23,10 @@
|
|||||||
LocalSend is a free, open-source app that allows you to securely share files and messages with nearby devices over your local network without needing an internet connection.
|
LocalSend is a free, open-source app that allows you to securely share files and messages with nearby devices over your local network without needing an internet connection.
|
||||||
|
|
||||||
- [About](#about)
|
- [About](#about)
|
||||||
- [Sponsors](#sponsors)
|
|
||||||
- [Screenshots](#screenshots)
|
- [Screenshots](#screenshots)
|
||||||
- [Download](#download)
|
- [Download](#download)
|
||||||
- [How It Works](#how-it-works)
|
- [How It Works](#how-it-works)
|
||||||
|
- [Dependency Hierarchy](#dependency-hierarchy)
|
||||||
- [Getting Started](#getting-started)
|
- [Getting Started](#getting-started)
|
||||||
- [Contributing](#contributing)
|
- [Contributing](#contributing)
|
||||||
- [Translation](#translation)
|
- [Translation](#translation)
|
||||||
@@ -43,14 +43,6 @@ LocalSend is a free, open-source app that allows you to securely share files and
|
|||||||
|
|
||||||
LocalSend is a cross-platform app that enables secure communication between devices using a REST API and HTTPS encryption. Unlike other messaging apps that rely on external servers, LocalSend doesn't require an internet connection or third-party servers, making it a fast and reliable solution for local communication.
|
LocalSend is a cross-platform app that enables secure communication between devices using a REST API and HTTPS encryption. Unlike other messaging apps that rely on external servers, LocalSend doesn't require an internet connection or third-party servers, making it a fast and reliable solution for local communication.
|
||||||
|
|
||||||
## Sponsors
|
|
||||||
|
|
||||||
Browser testing via
|
|
||||||
|
|
||||||
<a href="https://www.testmuai.com/?utm_medium=sponsor&utm_source=localsend" target="_blank">
|
|
||||||
<img src="https://localsend.org/img/sponsors/tesmu.svg" style="vertical-align: middle;" width="250" height="45" />
|
|
||||||
</a>
|
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
<img src="https://localsend.org/img/screenshot-iphone.webp" alt="iPhone screenshot" height="300"/> <img src="https://localsend.org/img/screenshot-pc.webp" alt="PC screenshot" height="300"/>
|
<img src="https://localsend.org/img/screenshot-iphone.webp" alt="iPhone screenshot" height="300"/> <img src="https://localsend.org/img/screenshot-pc.webp" alt="PC screenshot" height="300"/>
|
||||||
@@ -136,6 +128,10 @@ LocalSend uses a secure communication protocol that allows devices to communicat
|
|||||||
|
|
||||||
For more information on the LocalSend Protocol, see the [documentation](https://github.com/localsend/protocol).
|
For more information on the LocalSend Protocol, see the [documentation](https://github.com/localsend/protocol).
|
||||||
|
|
||||||
|
## Dependency Hierarchy
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
To compile LocalSend from the source code, follow these steps:
|
To compile LocalSend from the source code, follow these steps:
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
# Dependency Diagram
|
||||||
|
|
||||||
|
From the repository root, generate the SVG with [D2](https://d2lang.com):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
d2 --theme 4 --dark-theme 200 --layout elk --pad 32 support/docs/dependency-hierarchy.d2 support/docs/dependency-hierarchy.svg
|
||||||
|
```
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
# Render with:
|
||||||
|
# d2 --theme 4 --dark-theme 200 --layout elk --pad 32 support/docs/dependency-hierarchy.d2 support/docs/dependency-hierarchy.svg
|
||||||
|
|
||||||
|
direction: down
|
||||||
|
|
||||||
|
classes: {
|
||||||
|
card: {
|
||||||
|
shape: text
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
consumers: "" {
|
||||||
|
direction: right
|
||||||
|
style: {
|
||||||
|
border-radius: 16
|
||||||
|
stroke-dash: 4
|
||||||
|
}
|
||||||
|
|
||||||
|
app: ||md
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td style="width:100%"><h6 style="margin:0;font-size:1em;color:inherit">App</h6></td>
|
||||||
|
<td align="right" style="white-space:nowrap">Dart/Flutter</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">/app/</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">Cross-platform App</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|| {
|
||||||
|
class: card
|
||||||
|
}
|
||||||
|
|
||||||
|
cli: ||md
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td style="width:100%"><h6 style="margin:0;font-size:1em;color:inherit">CLI</h6></td>
|
||||||
|
<td align="right" style="white-space:nowrap">Rust</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">/cli/</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">Command line interface</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|| {
|
||||||
|
class: card
|
||||||
|
}
|
||||||
|
|
||||||
|
server: ||md
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td style="width:100%"><h6 style="margin:0;font-size:1em;color:inherit">Server</h6></td>
|
||||||
|
<td align="right" style="white-space:nowrap">Rust</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">/server/</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">WebRTC signaling server</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|| {
|
||||||
|
class: card
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
localsend_isolates: ||md
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td style="width:100%"><h6 style="margin:0;font-size:1em;color:inherit">LocalSend Isolates</h6></td>
|
||||||
|
<td align="right" style="white-space:nowrap">Dart + Rust</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">/packages/localsend_isolates/</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">Background thread and Rust bindings</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|| {
|
||||||
|
class: card
|
||||||
|
}
|
||||||
|
|
||||||
|
core: ||md
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td style="width:100%"><h6 style="margin:0;font-size:1em;color:inherit">Core</h6></td>
|
||||||
|
<td align="right" style="white-space:nowrap">Rust</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">/packages/core/</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">Library implementing the LocalSend protocol</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|| {
|
||||||
|
class: card
|
||||||
|
}
|
||||||
|
|
||||||
|
core_hub: "" {
|
||||||
|
shape: circle
|
||||||
|
width: 1
|
||||||
|
height: 1
|
||||||
|
style.opacity: 0
|
||||||
|
}
|
||||||
|
|
||||||
|
consumers.app -> localsend_isolates
|
||||||
|
consumers.cli -- core_hub
|
||||||
|
consumers.server -- core_hub
|
||||||
|
localsend_isolates -- core_hub
|
||||||
|
core_hub -> core
|
||||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 43 KiB |
Reference in New Issue
Block a user