Skip to content

Stack

We have made our stack as easy as possible to contribute to, using common technolgies.

App

We use Electron to make OpenMarch work as a desktop app. It uses Node.js for system functionalites and supports a wide range of front-end frameworks. It runs anywhere, as it is basically just a Chromium browser.

Front-end

We use React for the front-end. It is a common framework, with a big community. For global state management we use Zustand.

Field

The main part of the app, the field, is built with Fabric.js. This is where the football/indoor/custom field and marchers are visualized.

Styling/UI

We use Tailwind for all things styling and CSS. For basic UI components (such as selects, checkboxes), we use Radix Primitives and then apply our own styles on top of them.

Testing

Vitest and Playwright.

Misc

Tooling

Prettier and ESLint.

Website

Astro and Starlight for these docs.