An offline-first interactive bookshelf for the Holy Qur'an and the six canonical Hadith collections (Sahih al-Bukhari, Sahih Muslim, Jami' at-Tirmidhi, Sunan Abi Dawud, Sunan an-Nasa'i, Sunan Ibn Majah).
An Open Source project by Bugsfree Studio
https://worldbookshelf.vercel.app
https://github.com/bugsfreeweb/BookShelf/releases
- Page-flip reader — lightweight CSS-3D magazine page-flip with photo-backed pages, 3D corner folds, drag/swipe/arrow navigation
- Wheel scrolling — long reading pages scroll naturally with the mouse wheel; flip pages by drag/swipe, arrows, or clicking the page edges
- Qur'an — all 114 surahs with tajweed highlighting, 11 translation languages, recitation audio, page-flip and scrollable flow views, Juz' navigation
- Search — instant search across every downloaded hadith (runs in a Web Worker)
- Read-aloud (TTS) — adjustable speed with auto page-flip
- Bookmarks & progress — persisted per book; resumes where you left off
- 6 color themes — Dark, Light, Sepia, Midnight, Forest, Ocean
- Quick theme switcher on the home page for instant switching
- Custom accent color — Gold, Blue, Green, Rose, Purple, Orange, or pick your own
- Night reading mode — reduced brightness for comfortable low-light reading
- Font styles — Serif, Sans-serif, or Monospace for the reader
- Line spacing — Compact, Normal, Relaxed, or Spacious
- Text size — adjustable from 80% to 160%
- Islamic backgrounds — free photo API by default (Wikimedia Commons, no key needed)
- Switchable to Pixabay / Pexels / Unsplash with your own API key, or a custom URL
- Upload your own image — stored locally in IndexedDB
- Auto-rotation — photos change automatically at configurable intervals
- 5 built-in patterns — Star, Arabesque, Geometric, Night, Minimal
- Full offline support — books and the Qur'an download once into IndexedDB; service worker caches the app shell
- Smart install detection — install button appears only when the app can be installed
| Platform | Method | Notes |
|---|---|---|
| Web (PWA) | Vite + vanilla JS | Installable, offline via service worker |
| Windows | Tauri 2 | EXE standalone + NSIS installer + MSI |
| macOS | Tauri 2 | Universal binary (ARM + Intel) |
| Linux | Tauri 2 | AppImage + .deb |
| Android | Capacitor 6 | Signed APK |
npm install # install dependencies
npm run dev # Vite dev server → http://localhost:5173
npm run build # production build → dist/
npm run preview # preview production build → http://localhost:4173├── index.html # Main HTML entry point
├── package.json # Dependencies & scripts
├── vite.config.js # Vite configuration
├── vercel.json # Vercel deployment config
├── public/ # Static assets (icons, fonts, service worker)
│ ├── assets/ # Font files & worker JS
│ ├── icons/ # App icons (SVG + PNG)
│ ├── covers/ # Book cover images
│ ├── bg/ # Background images
│ ├── sw.js # Service worker
│ └── manifest.webmanifest
├── src/
│ ├── main.js # Application logic (all JS in one file)
│ └── styles.css # All styles
└── src-tauri/ # Tauri desktop app config
npm run tauri:buildArtifacts in src-tauri/target/release/:
bookshelf.exe— standalonebundle/nsis/bookshelf_*_x64-setup.exe— installerbundle/msi/bookshelf_*_x64_en-US.msi
npm run tauri:buildnpm run build
npx cap sync android
cd android && ./gradlew assembleReleaseTexts by bugsfreeweb/islamicdata · Translations by Google Translate · Icons by koboyo