A desktop Bible app for Amharic and English speakers with commentaries, audio Bibles, spiritual books, study plans, related-verse search, and live group studies through audio and video conferencing.
# 📖 Amharic Bible PC
**A full-featured desktop Bible for Amharic and English speakers**
*Read · Listen · Study · Connect*
---
| | Feature | Description |
|---|---|---|
| 🌐 | **Dual-language** | Amharic and English Bible side by side |
| 🔊 | **Audio Bible** | Listen to scripture read aloud |
| 📚 | **Commentaries** | In-app commentary support |
| 📖 | **Spiritual books** | Integrated library of spiritual reading material |
| 🗓️ | **Study plans** | Structured reading plans |
| 🔍 | **Semantic search** | NLP-powered related-verse lookup (Python vectorizer) |
| 📝 | **Notes & journals** | Personal notes tied to specific verses |
| 🖊️ | **Highlights** | Highlight verses independently per language |
| 🎙️ | **Live group study** | Audio and video conferencing for group Bible study |
---
## 🛠️ Tech Stack
| Layer | Technology |
|---|---|
| Language | Java 24 |
| UI | Java Swing + JavaFX 21 (WebView, JFXPanel) |
| Look & Feel | FlatLaf 3.4 |
| Database | SQLite via `sqlite-jdbc` 3.42 |
| PDF rendering | Apache PDFBox 2.0 |
| Semantic search | Python (vectorizer compiled via PyInstaller) |
| Build | Maven |
---
## ⚙️ Prerequisites
- JDK 24+
- Maven 3.8+
- Python 3.x *(only if rebuilding the NLS vectorizer)*
---
## 🚀 Build & Run
```bash
git clone
github.com
cd Amharic-Bible-PC
mvn clean package
java -jar target/BibleApp-1.0-SNAPSHOT.jar
```
> **Note:** JavaFX modules must be on the module path. If your JDK doesn't bundle JavaFX, add these flags:
> ```
> --module-path /path/to/javafx-sdk/lib \
> --add-modules javafx.controls,javafx.swing,javafx.web
> ```
---
## 🗂️ Project Structure
```
src/main/ # Java source
bookToStack/ # Book-import utilities
nlsEngine/ # Compiled NLS (natural language search) engine
notes/ # Notes feature assets
splicer/ # Verse-splitting utilities
sqbPro/ # SQLite database helpers
nlSearch.py # Python semantic search en …