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.