Build & Contribute

What you need to build WorshipDeck, the rule against real member data in the repository, and the checks to run before you open a pull request.

Written for WorshipDeck 0.1.1

Prerequisites

WorshipDeck has a Go backend and a React 19 frontend. To build it you need:

  • Go. Version 1.24 or later. CGO is not needed, because the SQLite driver is pure Go (modernc.org/sqlite).
  • Node.js. Version 22.12 or later, with npm.
  • Git. To clone the repository and work on branches.
git clone https://github.com/wiradeltaid/worship-deck.git
cd worship-deck
npm install
npm run setup
npm run dev

No Real Member Data

WorshipDeck is a public repository. Never commit real church member data, such as family names, photos of children, prayer requests, giving records, or phone numbers.

Use the synthetic congregation in the shipped example registry for examples and fixtures.

Before you push, run the public repository guard on its own:

node --import ./tests/register-ts-resolve.mjs --test --experimental-strip-types tests/public-repo-guard.test.mjs

The guard fails if it finds real congregation names, phone numbers, or presentation files that have not been cleaned. Remove that data before you push.

Running the Tests

The repository has checks for both the Go backend and the React frontend:

# Type check
npm run typecheck

# ESLint
npm run lint

# All Node tests, including the public repository guard (node:test)
npm test

# Go tests
go test ./cmd/... ./internal/...

# Production build of the interface
npm run build

All of them must pass before you open a pull request.

License and attributions

WorshipDeck is free and open-source software under the MIT license.

  • Code. Copyright © 2026 Wira Delta Indonesia, MIT license.
  • Hymnal and Bible text. The hymn lyrics and the Bible text have their own sources and terms. See ATTRIBUTIONS.md in the repository for the full copyright notices.