Full-stack Malagasy Bible ecosystem: A Python ETL pipeline for XML-to-SQLite cleaning & normalization, with a C++/Qt5 real-time display app.
# Malagasy Bible Ecosystem: ETL Pipeline & Real-Time Display
This project was built to solve a real problem: converting a raw XML Bible into a fast, reliable display system for live church services. I have maintained and used this system in production for over 3 years.
## 📸 Screenshots Gallery
| Main Interface | Search Engine |
| :-----------------------------------: | :-------------------------------------: |
| | |
| Dual screen | Themes |
| :-----------------------------------------: | :-----------------------------------: |
| | |
| Live presentation |
| :---------------------------------------: |
| |
## 🏗️ Project Architecture
The repository is structured to separate data concerns from the presentation layer:
1. **`data_pipeline/` (Python/SQL)**: Cleans the raw XML and moves it into a structured SQLite database.
2. **`SmartBible/` (C++/Qt5)**: A desktop software to search and show verses in full-screen with no lag.
------
- ## ⚙️ Part 1: Data Pipeline (The "ETL" process)
The raw XML files were "dirty" (comments, repetitions, bad formatting). This Python tool fixes that before the data is used.
### What I solved:
- **Text Cleaning**: Used `BeautifulSoup` and `Regex` to remove translator notes (Gr, Heb, Na) while keeping a log of what was deleted.
- **Deduplication**: Wrote a script to find and remove repeating text at the end of chapters.
- **SQL Structuring**: Converted nested XML into a clean database with two tables: `books` and `verses`. This makes searching much faster than reading a text file.
**Stack**: `Python 3`, `BeautifulSoup4`, `Regex`, `SQLite3`.
# Malagasy Bible Project: Data Pipeline & Display App
This project was built to solve a real problem: converting a raw XML Bible into a fast, reliable display system for live church services. I have maintained and used this system in production for …