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.