feat: Daily Fiqh Module 1 — Purification & Prayer
- 5 micro-lessons (200-400 words each) - Standardized YAML frontmatter with audio metadata - Quiz with 5 questions + explanations - TTS pipeline script (Azure/Piper/ElevenLabs) - Lesson template for future modules - Calibrated read times and audio durations
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
# FalahMobile Content Repository
|
||||
|
||||
Micro-learning courses for the FalahMobile Islamic lifestyle app.
|
||||
|
||||
## Repository Structure
|
||||
|
||||
```
|
||||
falahmobile-content/
|
||||
├── courses/ # All courses
|
||||
│ ├── daily-fiqh-beginner/
|
||||
│ ├── 40-hadith-nawawi/
|
||||
│ └── tafsir-bites/
|
||||
├── assets/ # Shared images, fonts, icons
|
||||
├── scripts/ # Build and generation scripts
|
||||
│ ├── generate-audio.py # TTS pipeline
|
||||
│ └── validate-content.mjs # Content quality checks
|
||||
├── templates/ # Lesson and course templates
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## Content Format
|
||||
|
||||
Every lesson is a Markdown file with YAML frontmatter:
|
||||
|
||||
```yaml
|
||||
---
|
||||
id: "course-module-lesson"
|
||||
title: "Lesson Title"
|
||||
course: "Course Name"
|
||||
module: "Module Name"
|
||||
order: 1
|
||||
read_time: "3 min"
|
||||
difficulty: "beginner"
|
||||
tags: ["fiqh", "prayer"]
|
||||
source_refs: ["Quran 5:6", "Sahih Muslim 271"]
|
||||
audio_ready: true
|
||||
---
|
||||
```
|
||||
|
||||
## Audio Pipeline
|
||||
|
||||
### Free TTS Options (Female, Calm, Human-like)
|
||||
|
||||
| Service | Voice | Quality | Free Tier | Setup |
|
||||
|---------|-------|---------|-----------|-------|
|
||||
| **Azure Speech** | `en-US-AriaNeural` | Excellent | 500K chars/mo | Azure account |
|
||||
| **Piper TTS** | `amy` (local) | Good | Unlimited | Download + run locally |
|
||||
| **Google Cloud** | `en-US-Neural2-F` | Good | 1M chars/mo | GCP account |
|
||||
| **ElevenLabs** | `Rachel` | Excellent | 10K chars/mo | API key |
|
||||
|
||||
### Generate Audio
|
||||
|
||||
```bash
|
||||
# Using Azure (recommended free tier)
|
||||
python scripts/generate-audio.py --course daily-fiqh-beginner --engine azure
|
||||
|
||||
# Using Piper (completely free, local)
|
||||
python scripts/generate-audio.py --course daily-fiqh-beginner --engine piper
|
||||
```
|
||||
|
||||
## Gitea Integration
|
||||
|
||||
Push content to your Gitea instance:
|
||||
|
||||
```bash
|
||||
git remote add gitea https://your-gitea.com/user/falahmobile-content.git
|
||||
git push gitea main
|
||||
```
|
||||
|
||||
The FalahMobile app fetches content via the Gitea API or raw file URLs.
|
||||
|
||||
## Adding a New Course
|
||||
|
||||
1. Create `courses/<course-id>/manifest.json`
|
||||
2. Create module directories with lesson `.md` files
|
||||
3. Run `python scripts/validate-content.mjs`
|
||||
4. Generate audio with `python scripts/generate-audio.py`
|
||||
5. Commit and push to Gitea
|
||||
Reference in New Issue
Block a user