Skip to content

Bible Karaoke produces a read-along MP4 video of Paratext Scripture text and HearThis audio or from Scripture App Builder.

License

Notifications You must be signed in to change notification settings

sillsdev/bible-karaoke

Repository files navigation

Bible Karaoke

Create 'karaoke-style' videos of Bible passages to help users become comfortable at reading the Bible in their own language.

Users

Head on over to biblek.info to download and get started.

Developers

Notice: This repo utilizes the Git Large File Storage (LFS) extension. Before cloning, install and setup git lfs.

Clone this repo:

git clone [email protected]:sillsdev/bible-karaoke.git bible-karaoke
cd bible-karaoke

Install the dependencies:

npm install

Running AVA Unit Tests

We use the AVA Node.js test runner. By default, the command below will execute tests in watch mode.

npm test

Writing AVA Unit Tests

Tests are traditionally placed in a spec.js file alongside the .js file under test. Our project looks for test files ending in *.spec.js If a test is more complex with sample data and/or scenarios, a test folder can optionally be created with additional supporting files to keep things tidy.

Debugging/Running the application

npm run electron-dev

Debugging the Node Backend in VSCode

We provide a debugging configuration for VSCode (defined in .vscode/launch.json)

  1. set a breakpoint in VSCode somewhere in the Node backend JS code (not front-end React code)
  2. npm run electron-dev (the Node debugger listens on port 9229)
  3. In VSCode, run the Debug Configuration named Node Backend. The VSCode status bar will turn orange when it is successfully attached to the debugger
  4. Use the Bible Karaoke application - the application will pause when a breakpoint is hit in VSCode

Debugging the React Frontend in VSCode

TODO

Build and package the app manually for testing

# Windows:
npm run electron-pack-win
# Mac:
npm run electron-pack-mac
# Linux:
npm run electron-pack-linux

Build the app automatically for distribution:

  • Push to a branch of the form release/*, e.g. release/v0.3.5, or release/v0.3.5-rc1.
  • Look in the GitHub Actions tab for the build artifacts.

Releasing

  1. Update the version in your project's package.json file (e.g. 0.3.4).
  2. Run npm i to update package-lock.json.
  3. Update CHANGELOG.md with changes in this release.
  4. Commit these changes to your release branch as defined in the section above.
  5. Tag your commit. Make sure your tag name's format is v*.*.*.
  6. Create a new draft GitHub Release, ensure the following are included:
    • a Tag version, e.g. v0.3.4.
    • a copy of the change log.
    • the installer artifact from GitHub Actions tab as Assets (attached binary) will be added in step 7.
  7. Push the tag then the commit to GitHub.

Style Guides

We use ESLint and Prettier with a pre-commit hook. If you use VS Code, install the recommended extensions from this repo and formatting will happen on save.

Test Data

Developers can download test data (permission must be granted by an admin) from Google Drive

https://drive.google.com/drive/u/1/folders/1rTCkMPA3ZoOn6dXhJHuYTn6QdAKfBj0X

For Windows,

SAB projects are assumed to be located in this folder:

Documents\App Builder\Scripture Apps\App Projects\

HearThis projects are assumed to be located in this folder:

C:\ProgramData\SIL\HearThis\

About

Bible Karaoke produces a read-along MP4 video of Paratext Scripture text and HearThis audio or from Scripture App Builder.

Resources

License

Stars

Watchers

Forks

Packages

No packages published