A demo React Native app showcasing all features of the @shkomaghdid/react-native-prayer-times package.
demo.mp4
- Prayer Times — view daily prayer times with 7 calculation methods
- Location Services — search, geocode, and reverse-geocode cities offline
- Azkars — browse Hisnul Muslim categories, chapters, and items
- 99 Names of Allah — with translations and transliterations
- Multi-language — switch between English, Arabic, Kurdish, Farsi, and Russian
- Node.js >= 22
- React Native development environment (setup guide)
# 1. Install dependencies
npm install
# 2. Link the database asset into native projects
npx react-native-asset
# 3. (iOS only) Install CocoaPods
cd ios && pod install && cd ..# Android
npm run android
# iOS
npm run ios- Android New Architecture —
newArchEnabledis set tofalseinandroid/gradle.propertiesbecause op-sqlite doesn't fully support the TurboModule interop layer yet. - Package —
@shkomaghdid/react-native-prayer-timesis installed from npm. - Database — The SQLite database is in
android/app/src/main/assets/custom/muslim_db_v3.0.0.db(placed bynpx react-native-asset).
MyPrayersTest/
├── App.tsx # Main app — DB init + tab navigation
├── src/
│ ├── components/
│ │ ├── TabBar.tsx # Bottom tab bar
│ │ ├── Card.tsx # Reusable card component
│ │ └── ScreenHeader.tsx # Screen header with optional back button
│ ├── screens/
│ │ ├── PrayerTimesScreen.tsx # Prayer times + method picker
│ │ ├── LocationScreen.tsx # Search / geocode / reverse geocode
│ │ ├── AzkarsScreen.tsx # Categories → chapters → items
│ │ └── NamesOfAllahScreen.tsx # 99 Names list
│ └── theme.ts # Colors, spacing, fonts
├── metro.config.js # Metro configuration
└── package.json