This is a Ruby web app that serves a JSON API for public domain and open bible translations.
This app is served from bible-api.com, which anyone can use.
→ curl -s https://bible-api.com/John+3:16 | jq
{
"reference": "John 3:16",
"verses": [
{
"book_id": "JHN",
"book_name": "John",
"chapter": 3,
"verse": 16,
"text": "\nFor God so loved the world, that he gave his one and only Son, that whoever believes in him should not perish, but have eternal life.\n\n"
}
],
"text": "\nFor God so loved the world, that he gave his one and only Son, that whoever believes in him should not perish, but have eternal life.\n\n",
"translation_id": "web",
"translation_name": "World English Bible",
"translation_note": "Public Domain"
}→ ruby -r open-uri -r json -r pp -e "pp JSON.parse(URI.open('https://bible-api.com/John+3:16').read)"
{"reference"=>"John 3:16",
"verses"=>
[{"book_id"=>"JHN",
"book_name"=>"John",
"chapter"=>3,
"verse"=>16,
"text"=>
"\n" +
"For God so loved the world, that he gave his one and only Son, that whoever believes in him should not perish, but have eternal life.\n" +
"\n"}],
"text"=>
"\n" +
"For God so loved the world, that he gave his one and only Son, that whoever believes in him should not perish, but have eternal life.\n" +
"\n",
"translation_id"=>"web",
"translation_name"=>"World English Bible",
"translation_note"=>"Public Domain"}If you want to host this application yourself, you'll need a Linux server with Ruby, Redis, and MySQL (or MariaDB) installed. Follow the steps below:
-
Clone the repo:
git clone https://github.com/seven1m/bible_api cd bible_api git submodule update --init -
Install the dependencies:
gem install bundler bundle config --local deployment true # optional, but prefered on a server bundle install -
Create the database and import the translations:
mysql -uroot -e "create database bible_api; grant all on bible_api.* to user@localhost identified by 'password';" export DATABASE_URL="mysql2://user:password@localhost/bible_api" export REDIS_URL="redis://localhost:6379" bundle exec ruby import.rb -
Host the app with Passenger
... or run
bundle exec ruby app.rbif you are just testing.
Copyright Tim Morgan. Licensed under The MIT License (MIT). See LICENSE for more info.