Files
PLG-MuDiCS/CONTRIBUTING.md
T
2025-11-09 00:01:53 +01:00

1.4 KiB

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