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.
|
||||
|
||||
- [About](#about)
|
||||
- [Sponsors](#sponsors)
|
||||
- [Screenshots](#screenshots)
|
||||
- [Download](#download)
|
||||
- [How It Works](#how-it-works)
|
||||
- [Dependency Hierarchy](#dependency-hierarchy)
|
||||
- [Getting Started](#getting-started)
|
||||
- [Contributing](#contributing)
|
||||
- [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.
|
||||
|
||||
## 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
|
||||
|
||||
<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).
|
||||
|
||||
## Dependency Hierarchy
|
||||
|
||||

|
||||
|
||||
## Getting Started
|
||||
|
||||
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