The Ultimate Quranic Arabic Vocabulary Curriculum & Interactive Dictionary — 4,709 Quranic words taught in descending order of real frequency with meanings in 11 languages, 251 roots, authentic verse contexts, audio, and gamified Android app.
🌐 Live Web Application & Interactive Dictionary: https://quranicwords.vercel.app/
| Topic | Search Queries Targeted | Direct Link |
|---|---|---|
| 📖 Quran Words & Vocabulary | Quran words, Quran vocabulary, learn Quran words, frequency list | Explore 4,709 Lemmas |
| 🔤 Word-by-Word Meanings | Quran word meaning, English, Bengali, Urdu, Hindi, Indonesian | 11-Language Dictionary |
| 🌳 Quran Root Words | Quran root words dictionary, 251 roots, Arabic root explorer | Root Graph Explorer |
| 📇 Quran Flashcards & Quiz | Quran flashcards, Quran vocabulary quiz, spaced repetition | Flashcard Trainer |
| 📱 Android Native App | QuranicWords Android app, Jetpack Compose offline APK | Download Release |
QuranicWords teaches the vocabulary of the Qur'an through short, game-like lessons — points, streaks, and immediate feedback — built specifically around Qur'anic Arabic and Islamic values, for a learner who can already read Arabic script and wants to understand the meaning of what they recite.
🕋 No human faces, anywhere. Icons, illustrations, and avatars use geometric, calligraphic, and nature motifs only. 📖 No scripture as decoration. Ayat/Mushaf text is never used as a loading-screen skin or gamification flourish — it only ever appears as real lesson content. 🌙 11-language architecture (English, বাংলা, اردو, हिन्दी, Bahasa Indonesia, Bahasa Melayu, Türkçe, فارسی, Hausa, Kiswahili, Français), chosen by the learner at setup — not inferred from device locale. Features 100% verified word meanings, unified contextual polysemic senses (Wujūh al-Qur'an), collision-free quiz distractors, and exact in-verse span highlights with complete Tashkīl and zero mismatches. 🟢 One green identity, day and night — Material You dynamic color is deliberately disabled.
| Doc | What's in it |
|---|---|
| 📄 (this file) | Overview, features, tech stack, quick start |
| 🏗️ Architecture | Layered architecture, package map, DI graph |
| 🧭 User flows | Onboarding and lesson gameplay flows as diagrams |
| 🗄️ Data model | Room schema (ER diagram), bundled JSON content shape |
| 🧮 Algorithms | Streak calculation, gamification scoring, curriculum ordering |
| 🎓 Curriculum design | The pedagogical shape of the vocabulary curriculum, and why it's teach-then-quiz |
| 📚 Content sources | Sourced open-licensed Qur'an corpora, with licenses |
| 🔐 Security | Secrets handling and what's not yet hardened |
| 🗄️ Local-only design | Why there's no cloud sync, and how backup/restore works instead |
| 🗺️ Roadmap | Built vs. deferred |
| 🤝 Contributing | Build/test commands, ingestion pipeline, PR expectations |
| 📜 Code of Conduct | Community standards |
| 📱 Play Store Listing | Complete store metadata, character limits, keywords, and localizations |
QuranicWords is a structured Quranic vocabulary learning system divided into the three primary Arabic parts of speech (Aqsam al-Kalimah) across 10 Chapters, 100 Sections, 1,217 Lessons, and 14,358 Exercises:
- Ḥarf (الحرف — Particles): 173 Quranic particles (24,651 occurrences, 41.16% of Quranic text) structured across 10 sections in Chapter 1.
- Fi'l (الفعل — Verbs): 1,479 Quranic verbs (13,491 occurrences) structured across 30 sections in Chapters 2 to 4.
- Ism (الاسم — Nouns): 3,057 Quranic nouns (21,746 occurrences) structured across 60 sections in Chapters 5 to 10.
In total, 4,709 vocabulary lemmas covering ~80%+ of total Quranic word occurrences (59,888 occurrences) are taught ordered by their real occurrence frequency in the Qur'an. Every word features full grammatical categorization, root details, contextual polysemy (Wujūh al-Qur'an), and interactive verse examples with complete Tashkīl/Ḥarakāt (sukūn, fatḥah, kasrah, ḍammah, shaddah, tanwīn).
Content is organized as chapters → sections → lessons, with section and chapter exams gating progress into subsequent units.
For learners who want focused recall testing without linear lesson progression, the dedicated Test-Only Mode offers 6 specialized practice modes:
- 📖 Ism Mode (الاسم — Nouns): 3,057 nouns.
- ⚡ Fi'l Mode (الفعل — Verbs): 1,479 verbs.
- ✨ Ḥarf Mode (الحرف — Particles): 173 particles.
- 🔀 Mix / Random Mode: Dynamic shuffle across all 4,709 words with live grammar category tags.
- 🔄 Mistaken Words Review: Adaptive spaced review of previously missed words with grammar category tags.
- 📚 Chapterwise Practice & Test Mode: Targeted unit testing across all 10 Quranic chapters.
🌟 Dynamic In-Verse Quizzing: In all test modes, quizzes alternate between Reverse Verse Quizzes (
TapWordInVerse), Verse Completion (FillInTheBlank), and Contextual Multiple Choice with real Quranic verses and full Tashkīl. On completion, the Lesson Summary displays a full word breakdown with Arabic text, grammatical categories, and localized meanings.
✅ Correct answer → +10 points
🏆 100% lesson accuracy → +20 bonus points
🔥 Daily streak → local-calendar-date based, timezone-safe
🔓 Progression unlocking → each lesson and section unlocks the next on completion
📊 Lesson End Summary → words covered (Alhamdulillah), mistakes, accuracy %, and next lesson preview
🔢 Universal Digits → all numbers, streaks, and percentages localized to your script (e.g. Eastern Arabic, Bengali)
Every word is taught before it's quizzed — a non-scored intro (the word, its meaning tabs for multiple contextual senses, and real example verses with full Tashkīl) immediately followed by that word's quiz, repeated per word, closed by an interactive lesson summary.
| Type | Interaction | Scored? |
|---|---|---|
| 📖 Word intro | Word + meaning tabs (Wujūh al-Qur'an) + real verse examples with Tashkīl, tap "Continue" | No — teaching only |
| 🔤 Multiple choice | Select the correct translation for the Arabic word, with live verse context and highlighted meaning | Yes |
| 🔗 Matching | Pair Arabic words with their meanings, with live verse examples and highlighted glass translations on tap | Yes |
| ✏️ Fill in the blank | Complete a Quranic verse by choosing the missing word | Yes |
| 🧱 Word order builder | Assemble a verse from individual word chips in correct order | Yes |
| 👁️ Word in verse tap | Identify and tap the target word directly inside a Quranic verse with highlighted translation | Yes |
All word meanings and polysemic senses are verified against word-by-word reference corpora. See docs/CONTENT_SOURCES.md for data sourcing details.
At setup or via Settings, learners preview Surah Al-Kawthar in clean, streamlined font cards showing the typeface name and live Arabic sample:
| Style | Status |
|---|---|
| Uthmani (Amiri) | ✅ Bundled (SIL OFL) |
| Scheherazade Naskh | ✅ Bundled (SIL OFL) |
| Simple Naskh (Noto) | ✅ Bundled (SIL OFL) |
| IndoPak Naskh (Lateef) | ✅ Bundled (SIL OFL) |
| Nastaliq (Noto Urdu) | ✅ Bundled (SIL OFL) |
mindmap
root((QuranicWords))
UI
Jetpack Compose
Material 3
Navigation-Compose (type-safe)
Architecture
MVVM
Hilt DI
Feature-based packages
Local data
Room
DataStore Preferences
kotlinx.serialization
Local backup
JSON export/import
Storage Access Framework
Language
Kotlin 2.3
Coroutines + Flow
| Layer | Choice | Why |
|---|---|---|
| UI toolkit | Jetpack Compose + Material 3 | Animated, game-like lesson screens without XML boilerplate |
| Architecture | MVVM + Hilt | Testable, standard Android architecture |
| Local storage | Room + DataStore | Offline-first: lessons, progress, and settings all work with zero network |
| Backup | JSON export/import (SAF) | Local-device-only: no accounts, no cloud sync — a Settings-screen export/import file carries progress across reinstalls/devices |
| Serialization | kotlinx.serialization | Bundled JSON content + type-safe navigation args |
| Build | AGP 9.3 built-in Kotlin, KSP | No kotlin-android plugin needed; KSP (not kapt) for Room/Hilt codegen |
git clone [email protected]:rmrashahriar/QuranicWords.git
cd QuranicWords
./gradlew :app:assembleDebug
./gradlew :app:testDebugUnitTestThe app builds and runs fully offline with zero configuration — language selection, the font picker, and the full vocabulary lesson loop (scoring, streaks, points) all work with no account needed. There is no sign-in, no cloud sync, and no leaderboard; progress lives entirely on-device and travels between devices only via the local backup export/import feature described in docs/BACKUP_AND_SYNC.md.
app/src/main/java/com/quranicwords/app/
├── core/ # data (Room, DataStore, local backup), domain, DI, navigation, theme, shared UI
└── feature/ # one package per screen: splash, onboarding/*, home, lesson, settings...
app/src/main/assets/content/ # bundled vocabulary lesson JSON (seeds Room on first run)
docs/ # the documentation set linked above
See docs/ARCHITECTURE.md for the full package map and layer diagram.
Explore and study the complete QuranicWords Master Curriculum Dictionary directly in any web browser with zero installation:
👉 https://quranicwords.vercel.app/
- 📖 All 4,709 Lemmas: Instant search across Arabic (with or without Tashkīl), English, Bengali, Urdu, Hindi, Bahasa, Turkish, French, roots, and Surah citations.
- 🔊 Audio Pronunciation: High-clarity Arabic pronunciation for every lemma.
- 📋 One-Click Copy & Ayah Links: Direct citations linking to Quranic Ayahs on Quran.com.
- ⭐ Favorites / Bookmarking: Save words locally to your browser for revision.
- 🔀 Polysemy (Wujūh al-Qur'an) Explorer: Interactive contextual meaning tabs with live Ayah switching.
- 📱 PWA / Responsive Design: Works seamlessly on desktop, tablets, and smartphones.
QuranicWords is an open-source project licensed under the GNU General Public License v3.0 (GPL-3.0). Contributions, bug reports, and pull requests are warmly welcomed to help make Quranic Arabic learning accessible to everyone worldwide.
- 🌐 Live Web Application: https://quranicwords.vercel.app/
- 🐙 GitHub Organization / Repo: github.com/deanybytes/QuranicWords (also mirrored at github.com/rmrashahriar/QuranicWords)
- 📢 DEANY TALKS Ecosystem: Part of the DEANY TALKS digital Dawah platforms, creating modern, open Islamic educational tools.
- ✉️ Contact & Feedback: Reach out via email at
[email protected]or open an issue on GitHub.
