mirror of
https://codeberg.org/PLG-Development/PLG-MuDiCS
synced 2026-07-05 16:37:09 +00:00
35 lines
1.4 KiB
Markdown
35 lines
1.4 KiB
Markdown
# Contributing
|
|
|
|
## Development
|
|
|
|
### Architecture
|
|
|
|
The software suite comprises two main components that are designed to work together on the same network.
|
|
The _Display Block_ is responsible for displaying content on a monitor.
|
|
The _Control Block_ controls multiple Display Blocks via a user interface. One Display Block can be controlled by multiple Control Blocks.
|
|
|
|
- `control/`: Go code for the Control Block.
|
|
- `frontend/`: The actual frontend written in SvelteKit.
|
|
- `display/`: Go code for the Display Block.
|
|
- `nixos/`: NixOS configuration for a self-updating, ready-to-use Linux system for the Display Block. This is not necessary for using PLG-MuDiCS.
|
|
- `shared/`: Shared code and assets for the Control and Display Block.
|
|
|
|
### Technologies
|
|
|
|
- **Go** for the base code in both the Control and Display Block.
|
|
- **SvelteKit** in prerender mode for the frontend of the Control Block.
|
|
- **TailwindCSS** for styling the frontend of the Control Block.
|
|
- **Chromium** browser for handling most media display in the Display Block and serving the frontend of the Control Block.
|
|
- **LibreOffice** for handling more complex documents in the Display Block.
|
|
|
|
### Requirements
|
|
|
|
- Go v1.25 or higher
|
|
- Deno v2
|
|
|
|
### Running
|
|
|
|
1. open the wanted folder of the block inside a terminal
|
|
2. run `go generate ./..` to generate files required at build time
|
|
3. run `go run *.go` to compile and run the block
|