Skip to content

globalbibletools/platform

Repository files navigation

Global Bible Tools

Vision

Our goal is to build biblical Hebrew and Greek study tools for the global church. Read more at globalbibletools.com

Roadmap

Current Work

Reader's Bible

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.

Future Work

Study App

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.

Additional Resources

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 langauge, the grammatical structure of Hebrew and Greek in their language.
  • Textual Critism Notes: Users will be able to learn, in their own language, about the variants in the manuscript evidence for the Hebrew and Greek scriptures.

Contributing

We are excited to add new contributors! If you are interested, please review our contributing guidelines to get started. and fill out this form.

Docker

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]

Database

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.

Set up database

If you are running these from the db container, you can use an absolute URL (/db/data.dump) because the db directory is mounted at the root of the container.

Restore the database schema:

psql DATABASE_URL db/schema.sql

Restore the database seed data:

pg_restore -Fc --format=custom --dbname=DATABASE_URL db/data.dump

Export the latest database schema:

pg_dump --no-owner --schema-only DATABASE_URL > db/schema.sql

Export the latest database seed data:

pg_dump -Fc --data-only DATABASE_URL > db/data.dump

Migrations

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 db/migrations/{migration}.sql