https://github.com/aaronjs99/mbab
mBAB: The Multi-Book Advanced Bible Search
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.9%) to scientific vocabulary
Keywords
Repository
mBAB: The Multi-Book Advanced Bible Search
Basic Info
- Host: GitHub
- Owner: aaronjs99
- License: gpl-3.0
- Language: HTML
- Default Branch: master
- Homepage: http://aaronjs.pythonanywhere.com/
- Size: 52.3 MB
Statistics
- Stars: 8
- Watchers: 1
- Forks: 3
- Open Issues: 1
- Releases: 0
Topics
Metadata Files
README.md
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 - Logical AND (+) and OR (,) search syntax prioritized with parentheses - Case sensitivity toggle - Book selector grouped by Testament and Section - Responsive UI with collapsible book selector - Optional themes: Light ☀️, Dark 🌙, and High Contrast ⚫
Hosted live at aaronjs.pythonanywhere.com.
Originally built with Flask, now rebuilt using Django for better scalability and maintainability.

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
- Django Official Documentation
- Jinja Template Syntax — used for templating
- Python
sqlite3Module - Tailwind CSS — for utility-first styling
Requirements
- Python 3.11 or higher
pipandvenv(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
```bash
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.
```bash
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
bash
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:
bash
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:
```bash
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
- [x] Add pagination for search results
- [ ] Include search within verse ranges (e.g., John 3:16–21)
- [ ] Include fuzzy matching or stemming (e.g., "loves" → "love")
- [ ] Include natural language search (e.g., "verses about forgiveness")
- [ ] Track recent or most common searches
- [x] Subdivide books by genre (Law, Gospels, etc.)
- [x] Enable logical grouping and parentheses in search syntax
User Features
- [ ] Add optional user accounts with saved history
- [ ] Allow bookmarking/saving of favorite verses (via local storage or user accounts)
- [x] Provide user manual
Accessibility & Internationalization
- [ ] Support multi-language display (e.g., Spanish, Hindi, Malayalam)
- [ ] Enable keyboard-only navigation mode
- [ ] Support copyrighted Bible versions (NIV, NLT, BSI, etc.)
Developer Integrations
- [ ] Provide API access for other apps/church tools to integrate Bible search
UI/UX Enhancements
- [x] Add loading animations or skeletons on long queries
- [x] Make the UI fully responsive for mobile screens
- [x] Move controls into a collapsible sidebar
- [x] Improve styling with more theme options
License
Owner
- Name: Aaron John Sabu
- Login: aaronjs99
- Kind: user
- Location: Los Angeles, California
- Company: University of California Los Angeles
- Website: sites.google.com/view/aaronjs
- Repositories: 3
- Profile: https://github.com/aaronjs99
Mechanical and Aerospace Engineering PhD Candidate | Class of 2027 (hopefully)
GitHub Events
Total
Last Year
Dependencies
- db-sqlite3 *
- flask *
