📚 Open dataset of 122 Xassaid (Khassaid) poems by Serigne Touba — Cheikh Ahmadou Bamba Mbacké. Full Arabic text, French & Wolof summaries. Ready to import into Firestore, SQLite, or any database.
# 📚 Khassaid Corpus — Cheikh Ahmadou Bamba
> Open dataset of **122 Khassaid** (sacred poems) by **Cheikh Ahmadou Bamba Mbacké** (Khadimou Rassoul, 1853–1927), founder of the Mouride Brotherhood.
Each poem includes:
- **Full Arabic text** (original manuscript transcription)
- **French summary** (content + historical context)
- **Wolof summary** (for Senegambian audiences)
- **Thematic keywords** (faith, patience, exile, love, knowledge…)
---
## 📦 What's inside
```
khassaid-corpus/
├── data/
│ ├── khassaid_corpus.json ← 122 documents, structured JSON ⭐
│ ├── khassaid_corpus.csv ← same data, spreadsheet-ready
│ └── khassaid_corpus_raw.txt ← original full-text export
├── scripts/
│ ├── parse.mjs ← regenerate JSON/CSV from raw text
│ ├── import-firestore.mjs ← import into Firebase Firestore
│ └── import-sqlite.mjs ← import into SQLite
├── examples/
│ ├── search.mjs ← CLI keyword search (no dependencies)
│ └── api-server.mjs ← minimal REST API (requires express)
└── docs/
└── schema.md ← full field documentation
```
---
## ⚡ Quick Start
```bash
git clone
github.com
cd khassaid-corpus
# Search the corpus (no install needed)
node examples/search.mjs "patience"
node examples/search.mjs "exil amour"
# Start a local REST API
npm install express
node examples/api-server.mjs
# →
localhost
```
---
## 🗄 Use the data directly (JSON)
```js
import corpus from './data/khassaid_corpus.json' assert { type: 'json' };
console.log(corpus.total); // 122
const doc = corpus.documents[0];
console.log(doc.title); // "AHAZANIL BAAQI"
console.log(doc.themes); // ["protection", "Dieu", "prophète", ...]
console.log(doc.arabicText); // أَعَاذَنِى الْبَاقِى مِنَ الشَّيْطَانِ...
console.log(doc.frenchSummary); // Ce poème exprime la reconnaissance...
``` …