Skip to content

aaronjs99/mBAB

Repository files navigation

The Multi-Book Advanced Bible Search (mBAB)

Table of Contents

Introduction

This web application allows users to search for word sequences—case-sensitive or case-insensitive—across a custom selection of Bible books.

Features

  • Multi-book and multi-version search: Search across any combination of books and versions.
  • AI-Powered Theological Insights: One-click explanation of any verse.
  • Full Chapter Context: Read the surrounding chapter without leaving results.
  • Precise Logic Parsing: AI converts natural language to boolean logic.
  • Boolean Syntax: Logical AND (+) and OR (,) prioritized with parentheses.
  • Case Sensitivity: Optional toggle for precise matching.
  • Smart Book Selector: Grouped by Testament and Section (Law, Gospels, etc.).
  • Responsive UI: Collapsible sidebar and mobile-friendly design.
  • Themes: Light ☀️ and Dark 🌙.

Hosted live at aaronjs.pythonanywhere.com.

Originally built with Flask, now rebuilt using Django for better scalability and maintainability.

A Search Example

Getting Started for Developers

This guide will help you set up and run the Multi-Book Advanced Bible Search (mBAB) project locally for development or customization.

Useful Resources

Requirements

  • Python 3.11 or higher
  • pip and venv (usually bundled with Python)
  • A Unix-like shell (Linux/macOS or WSL on Windows recommended)
  • make (optional but recommended for easier setup and management)

Installation Steps

# Clone the codebase repository
git clone https://github.com/aaronjohnsabu1999/mBAB.git ~/mBAB
cd ~/mBAB

# Set up a virtual environment
make venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
make install

# Apply Django migrations
make migrate

Setting Up the Bible Databases

To keep the main repo lightweight, the SQLite Bible databases are hosted separately. Download or clone them from Bible Databases and place the .db files inside a folder named databases/ at the root of this project.

# Clone the database repository
mkdir ~/mBAB/databases/
git clone https://github.com/aaronjohnsabu1999/bible-databases.git ~/bible-databases/

# Move databases to codebase directory
cp ~/bible-databases/DB/*.db ~/mBAB/databases/

Running the Application

Start the Django development server using make:

Default Localhost Run

make run

This will run the server at 127.0.0.1:8000. Open your browser and navigate to http://localhost:8000/.

Access on a Local Network (e.g., from your phone)

Override the host and/or port by passing variables:

make run HOST=0.0.0.0            # Binds to all interfaces
make run HOST=0.0.0.0 PORT=8080  # Custom port

Then visit in your mobile browser: http://<your-computer-local-ip>:8000/. To find your local IP:

# On Linux/macOS
hostname -I

# On Windows
ipconfig

Note: Ensure both devices are on the same Wi-Fi and that your firewall allows access on the selected port.

Contributors

Formatting and design feedback have been generously provided by my parents, Sabu John and Jessy Sabu John, along with several other users. Flask development support was offered extensively by @hbhoyar. The searchable Bible content is based on SQL databases originally published by @scrollmapper and later cleaned and reorganized by me. To keep this repository lightweight and easy to clone, those databases have been moved to a separate repository: Bible Databases.

Roadmap & Potential Contributions

Search Capabilities

  • Pagination for search results
  • Natural language search (e.g., "verses about forgiveness")
  • Logical grouping with parentheses in search syntax
  • Subdivide books by genre (Law, Gospels, etc.)
  • Track recent searches
  • Search within verse ranges (e.g., John 3:16–21)
  • Fuzzy matching or stemming (e.g., "loves" → "love")
  • Cross-reference lookup (show related verses)
  • Search by Strong's numbers for original language study

AI Features

  • One-click theological explanations for any verse
  • Full chapter context reader
  • Comparative analysis across translations
  • AI-generated study notes
  • Topic-based verse recommendations

User Features

  • Bookmarking/saving favorite verses (via local storage)
  • User guide and help modal
  • Optional user accounts with cloud sync
  • Export saved verses (PDF, text, clipboard)
  • Share verses via link or social media
  • Audio playback of verses (text-to-speech)

Accessibility & Internationalization

  • Multi-language UI (Spanish, Hindi, Malayalam, etc.)
  • Keyboard-only navigation mode
  • Screen reader optimization
  • Support copyrighted versions (NIV, NLT, etc.) with permission

Developer & API

  • REST API for external integrations
  • Embeddable widget for church websites
  • Webhook support for automation

UI/UX Enhancements

  • Loading animations and skeletons
  • Fully responsive mobile design
  • Collapsible sidebar with filters
  • Light and dark themes
  • Smart section toggles (Select All / Deselect All / Only)
  • Customizable color themes
  • Reading mode (distraction-free full-screen)

License

Copyright © 2025 Aaron John Sabu.

This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.

CC BY-NC-SA 4.0

You are free to:

  • Share — copy and redistribute the material in any medium or format.
  • Adapt — remix, transform, and build upon the material.

Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made.
  • NonCommercial — You may not use the material for commercial purposes (monetization).
  • ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.

About

mBAB: The Multi-Book Advanced Bible Search

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages