Modern Android Architecture
The application is architected using modern Android best practices, focusing on unidirectional data flow and declarative UI.
- Jetpack Compose: Fully declarative UI layer, utilizing state hoisting and recomposition optimization for a smooth 60 FPS experience.
- MVVM Pattern: Clear separation of concerns with MainViewModel managing UI state via StateFlow.
- Single-Activity Architecture: Utilizes Jetpack Navigation Compose for seamless screen transitions.
- Custom Rendering: Implemented a specialized HtmlText component to handle complex styled text rendering directly from the database.
Data Engineering & Search Optimization
Efficiently handling 1,893 hadiths across 20 books with specialized search capabilities.
Full-Text Search & Normalization
To provide an enterprise-grade search experience, I developed a custom data pipeline to handle Arabic text complexities.
- Python Data Pipeline: Developed scripts for database maintenance, HTML cleaning, and text normalization (removing tashkeel and variant characters).
- Optimized SQLite: Leveraged a pre-populated SQLite database with custom indices for rapid data retrieval.
- DataStore Preferences: Utilized Jetpack DataStore for persistent user settings like font size and theme.
- Repository Pattern: Abstracted data operations behind a clean Repository interface for better testability.
Enhanced User Experience
Prioritizing accessibility and readability for long-form content.
- Chapter and Book Navigation: Clean collapsible navigation drawer for seamless jumps between 366 chapters.
- Smart Bookmarking: Offline bookmarking and favorites system with quick retrieval.
- Adaptive UI: Supports multiple screen orientations, dynamic font sizing, and full dark mode.
Application Architecture & Attribution
Dedicated application overview and about screen with detailed resource attribution, database metadata, and developer profile information.