Our goal is to build biblical Hebrew and Greek study tools for the global church. Read more at globalbibletools.com
The first step is to build a platform where volunteers can translate each word of the Bible into the languages of the world. The result will power a public facing digital Reader's Bible to augment Hebrew and Greek video lessons. This work is in progress and more details can be found in the GitHub project.
Once we have a Reader's Bible in a few languages, we want to make it available through a native app for both Android and iPhone. As we are able to translate additional resources, we will make them available in the app as well.
We intend to build similar interfaces to translate the following resources for the study app:
- Lexicons: Users will be able to learn, in their own language, the breadth of meaning for a Hebrew or Greek word.
- Grammars: Users will be able to learn, in their own language, the grammatical structure of Hebrew and Greek in their language.
- Textual Criticism Notes: Users will be able to learn, in their own language, about the variants in the manuscript evidence for the Hebrew and Greek scriptures.
We are excited to add new contributors! If you are interested, please review our contributing guidelines to get started. and fill out this form.
Both the database and dev server can be run from a docker container using the command:
docker compose up
If you have added new node_modules, you need to run:
docker compose up --build
To reset the database and rebuild from scratch, run:
docker compose down
docker volume rm platform_db-data
docker compose up
To get a shell in a container run:
docker exec -it [platform-db-1|platform-server-1] [bash|sh]
If you are using docker, then you shouldn't need to set up the database. It will be set up for you when you start the docker image.
When running database commands from the db container, use /db/
instead of packages/db/
because the db package is mounted at the root of the container.
Restore the database schema:
psql DATABASE_URL packages/db/scripts/schema.sql
Restore the database seed data and rebuild materialized views:
pg_restore -Fc --format=custom --dbname=DATABASE_URL packages/db/scripts/data.dump
psql --dbname=DATABASE_URL -f packages/db/scripts/refresh_views.sql
Export the latest database schema:
pg_dump --no-owner --schema-only DATABASE_URL > packages/db/scripts/schema.sql
Export the latest database seed data:
pg_dump -Fc --data-only DATABASE_URL > packages/db/scripts/data.dump
Migrations are stored in db/migrations
in order. The files are named with a timestamp and a description.
We will run these manually in production as needed.
psql DATABASE_URL -f packages/db/migrations/{migration}.sql
Export an entity relationship diagram for the entire database using the following command. We use this to build the (Database Model page)[https://github.com/globalbibletools/platform/wiki/Database-Model] in the wiki.
psql DATABASE_URL -f db/scripts/generate_diagram.sql -o diagram.txt