-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
github-actions[bot] edited this page Aug 30, 2026
·
2 revisions
islamwiki/
├── web/ islam.wiki (Next.js 15)
│ ├── app/ App Router pages
│ │ ├── quran/ Quran browser (/quran, /quran/[surah], /quran/[surah]/[ayah])
│ │ ├── hadith/ Hadith browser (/hadith, /hadith/[collection], etc.)
│ │ ├── books/ Classical books (/books/[slug])
│ │ ├── people/ Biographical entries
│ │ ├── sects/ Islamic groups and movements
│ │ ├── seerah/ Prophet's biography timeline
│ │ ├── admin/ Admin tools (AI review dashboard)
│ │ └── api/ API routes (og images, search)
│ ├── components/ React components
│ │ ├── quran/ Quran viewer, tafsir panel, bookmarks
│ │ ├── hadith/ Hadith display, isnad chain visualization
│ │ ├── listings/ Grid layouts for content browsing
│ │ └── auth/ Authentication components
│ ├── data/ Static JSON data (~600MB)
│ │ ├── quran/ surah, ayah, tafsir, translation data
│ │ └── hadith/ collection, book, hadith data
│ ├── lib/ Data loading utilities, search
│ └── tests/ Unit (Vitest) + E2E (Playwright)
└── scripts/ Data pipeline and scrapers
| Layer | Technology |
|---|---|
| Frontend | Next.js 15, TypeScript, Tailwind CSS |
| Data storage | Static JSON files (compiled from authoritative sources) |
| Search | Client-side search index |
| Testing | Vitest, Playwright |
| Hosting | Vercel |
- Raw Islamic texts sourced from authoritative APIs and databases
- Scripts normalize data into structured JSON
- JSON files are committed to the repository
- Next.js loads data at build time and runtime via file-based data loaders
- Client-side search index built from the JSON data
Islam.wiki by Ummat Dev | MIT License