Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/timmo001/system-bridge
A bridge for your systems
https://github.com/timmo001/system-bridge
application hacktoberfest nextjs python python-app system-bridge typescript
Last synced: 3 days ago
JSON representation
A bridge for your systems
- Host: GitHub
- URL: https://github.com/timmo001/system-bridge
- Owner: timmo001
- License: apache-2.0
- Created: 2021-02-08T10:49:51.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-27T13:31:08.000Z (about 2 months ago)
- Last Synced: 2024-10-30T03:42:52.003Z (about 2 months ago)
- Topics: application, hacktoberfest, nextjs, python, python-app, system-bridge, typescript
- Language: Rust
- Homepage: https://system-bridge.timmo.dev
- Size: 11.4 MB
- Stars: 268
- Watchers: 6
- Forks: 14
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
> [!TIP]
> Contributions welcome! Please feel free to contribute to the project# System Bridge
A bridge for your systems.
![Logo](./resources/system-bridge-rect.png)
## Features
- System Information - Access your system's information via the data modules using the API/WebSocket.
- Open files and URLs - Automate your system by opening a URL/path via the API/WebSocket.
- Send Notifications - Send system notifications via the API/WebSocket.
- Compatible with Windows and Linux.
- Integrated with [Home Assistant](https://www.home-assistant.io/integrations/system_bridge).
- Android Companion App - You can find the Android companion app on the [Play Store](https://play.google.com/store/apps/details?id=dev.timmo.systembridge). The source for this app can be found [here](https://github.com/timmo001/system-bridge-android-companion).## Installation
You can find installation instructions [here](https://system-bridge.timmo.dev/docs/install).
## Running
You can find instructions to run the application [here](https://system-bridge.timmo.dev/docs/running).
## Data Modules
You can find documentation data modules that can be accessed via the API/WebSocket [here](https://system-bridge.timmo.dev/#modules).
## CLI
You can find documentation for the CLI [here](https://system-bridge.timmo.dev/docs/cli).
## API
You can find documentation for the API [here](https://system-bridge.timmo.dev/docs/api/data).
## WebSocket
You can find documentation for the WebSocket [here](https://system-bridge.timmo.dev/docs/websocket/data-get).
## Packages
### [Backend](https://github.com/timmo001/system-bridge-backend)
The main application which contains the API/WebSocket and data modules. This package requires the `systembridgeshared` package.
### [CLI](https://github.com/timmo001/system-bridge-cli)
The command line interface for the application. Here you can get the `token` and update settings and get data.
### [Connector](https://github.com/timmo001/system-bridge-connector)
Allows other applications to connect to the backend. For example, in the [Home Assistant](https://www.home-assistant.io/integrations/system_bridge) integration.
### [Frontend](https://github.com/timmo001/system-bridge-frontend)
The frontend for the application.
### [Shared](https://github.com/timmo001/system-bridge-shared)
Shared package required by the `systembridgebackend` and `systembridgecli` packages.
### [Models](https://github.com/timmo001/system-bridge-models)
Shared package used by most of the other packages containing the models used by the application.
### [Windows Sensors](https://github.com/timmo001/system-bridge-windows-sensors)
Specifically for windows, adds sensors to get windows system information.
## Application Development
### Prerequisites
- [Rust](https://www.rust-lang.org/tools/install)
- [Python 3.12](https://www.python.org/downloads/)
- [Node.js](https://nodejs.org/en/download/)
- [Yarn](https://classic.yarnpkg.com/en/docs/install)#### Windows
```powershell
.\setup.ps1
```#### Linux
```bash
./setup.sh
```### Build
```bash
yarn install
yarn tauri build
```### Run
```bash
yarn install
yarn tauri dev
```## Module Development
### Windows
#### Clone
```powershell
Write-Host "Make sure you have winget, GitHub CLI, Git and Python 3.12 installed before running this script!"
Read-Host -Prompt "Press Enter to continue"Write-Output "Upgrading GitHub CLI..."
winget upgrade GitHub.CLIWrite-Output "Upgrading Git..."
winget upgrade Git.GitWrite-Output "Upgrading Python 3.12..."
winget upgrade Python.Python.3.12Write-Output "Clone repositories..."
gh repo clone timmo001/system-bridge package
gh repo clone timmo001/system-bridge-backend backend
gh repo clone timmo001/system-bridge-cli cli
gh repo clone timmo001/system-bridge-connector connector
gh repo clone timmo001/system-bridge-frontend frontend
gh repo clone timmo001/system-bridge-shared shared
gh repo clone timmo001/system-bridge-models models
gh repo clone timmo001/system-bridge-windows-sensors windows-sensorsWrite-Output "Clone complete!"
```#### Build
```powershell
Write-Host "Make sure you have ran clone.ps1 and have winget, Git and Python 3.12 installed before running this script!"
Read-Host -Prompt "Press Enter to continue"Write-Output "Upgrading Python 3.12..."
winget upgrade Python.Python.3.12Write-Output "Update pip, setuptools and wheel..."
python -m pip install --upgrade pip setuptools wheelWrite-Output "Uninstall any existing packages..."
python -m pip uninstall systembridge -y
python -m pip uninstall systembridgebackend -y
python -m pip uninstall systembridgecli -y
python -m pip uninstall systembridgeconnector -y
python -m pip uninstall systembridgefrontend -y
python -m pip uninstall systembridgeshared -y
python -m pip uninstall systembridgemodels -y
python -m pip uninstall systembridgewindowssensors -yWrite-Output "Install packages..."
Write-Output "Install models.."
Set-Location models && git pull && python -m pip install . && Set-Location ..Write-Output "Install shared.."
Set-Location shared && git pull && python -m pip install . && Set-Location ..Write-Output "Install connector.."
Set-Location connector && git pull && python -m pip install . && Set-Location ..Write-Output "Install frontend.."
Set-Location frontend && git pull && yarn install && yarn build && python -m pip install . && Set-Location ..Write-Output "Install cli.."
Set-Location cli && git pull && python -m pip install . && Set-Location ..Write-Output "Install backend.."
Set-Location backend && git pull && python -m pip install . && Set-Location ..Write-Output "This next step requires you to build the windows-sensors/WindowsSensors/WindowsSensors.sln solution in Visual Studio."
Read-Host -Prompt "Press Enter to continue"
Write-Output "Install windows-sensors.."
Set-Location windows-sensors && git pull && python -m pip install . && Set-Location ..Write-Output "Install complete!"
```