BibleEngine can serve as a general purpose library for powering JavaScript bible projects. In it's core, the project makes use of the excellent datasets of Tyndale House to provide features like:
- automatic versification conversion across any bible version
- integrated up-to-date original language text with variants for all text forms
- automatic morphology for any bible version with strongs
- automatic source text matching (verse level), even for bibles without strongs
- integrated glosses for each original word, plus lemma, transliteration and Strong/BDB entries
Additional features:
- offline-first design with remote fallback
- compatible with (almost) all relational databases (via TypeORM)
- performant and space-efficient database design, focussed on bible study use cases
- plugin system to import any kind of bible format
- TypeScript - Intellisense for the win!
- @bible-engine/core: the brain of BibleEngine
- @bible-engine/client: client for reading from a BibleEngine database or server
- @bible-engine/importers: for creating a BibleEngine database and import data from different data sources
- @bible-engine/server: implementation example for a BibleEngine server
- @bible-engine/app: react-native app
To set up a local database for testing, install docker-compose and run:
docker-compose up postgres-db
Install all packages:
yarn install
To generate a new migration to capture schema changes:
yarn typeorm migration:generate -n SomeMigrationName
To test a new migration, run:
yarn typeorm migration:run