Flow for reactive data streams or suspend functions for one-time operations.
QuranRepository
Provides access to Quran data including surahs, ayahs, translations, bookmarks, and reading progress.View interface definition
View interface definition
Key operations
Navigation modes: Supports browsing by surah, juz, or page with optional translations. Search: Full-text search across Arabic text and translations. Bookmarks and favorites: Users can bookmark ayahs with notes and colors, or mark them as favorites. Reading progress: Tracks the last read position and total ayahs read for khatam tracking.PrayerRepository
Manages prayer times calculation, prayer tracking records, and location-based settings.View interface definition
View interface definition
Key operations
Prayer times: Calculates times based on location using various calculation methods (MWL, ISNA, etc.). Prayer tracking: Records prayer status (prayed, missed, qada) with timestamps and congregation tracking. Statistics: Provides streak tracking, prayer counts by type, and perfect day counts. Location management: Stores multiple locations with custom calculation settings.HadithRepository
Provides access to hadith collections, books, chapters, and individual hadiths.View interface definition
View interface definition
Key operations
Hierarchical browsing: Navigate from books to chapters to individual hadiths. Search: Full-text search across hadith text in Arabic and English. Grading: Filter hadiths by authenticity grade (Sahih, Hasan, Daif, etc.). Hadith of the day: Provides a daily hadith feature.DuaRepository
Manages duas (supplications) organized by categories and occasions.View interface definition
View interface definition
Key operations
Category browsing: Duas organized by categories with icons and descriptions. Occasion-based: Filter duas by time or situation (morning, evening, before sleep, etc.). Progress tracking: Track daily completion of duas with repeat counts. Favorites: Mark frequently used duas for quick access.KhatamRepository
Manages Quran completion goals and reading progress tracking.View interface definition
View interface definition
Key operations
Active tracking: One khatam can be active at a time for focused tracking. Granular progress: Tracks which specific ayahs have been read. Juz visualization: Shows progress across all 30 juz. Daily logs: Records daily reading counts for streak and pace calculation.FastingRepository
Tracks Ramadan fasting, voluntary fasts, and makeup fasts.View interface definition
View interface definition
Key operations
Daily tracking: Records fasting status with suhoor and iftar times. Exemptions: Tracks reasons for not fasting (travel, illness, etc.). Makeup tracking: Manages makeup fasts with status and fidya tracking. Ramadan overview: Special progress view for Ramadan month.ZakatRepository
Calculates and tracks zakat calculations.View interface definition
View interface definition
Key operations
Calculation: Computes zakat based on assets, liabilities, and nisab threshold. History: Stores past calculations for reference. Metal prices: Tracks current gold and silver prices for nisab calculation.TasbihRepository
Manages tasbih presets and counting sessions.View interface definition
View interface definition
Key operations
Presets: Predefined dhikr phrases with target counts. Sessions: Tracks individual counting sessions with duration. Statistics: Total counts, completed sessions, and most used presets.AsmaUlHusnaRepository
Provides access to the 99 names of Allah.View interface definition
View interface definition