3 min read
আল হাদিস (Flutter)
App Screenshot 1 App Screenshot 2 App Screenshot 3

Al-Hadith (আল হাদিস) stands as one of the most popular Islamic apps in Bangladesh, pioneering the digitalization of Islamic texts in Bangla. It serves as a comprehensive collection of Hadiths of Prophet Muhammad (ﷺ), encompassing over 49,000 Hadiths from the most accepted and authentic Hadith books.

📈 Contribution Summary

  • ✅ Kept maintaining the legacy Android application, written in Java, before migrating to Flutter.
  • ✅ Rewritten the application in Flutter adhering to clean code principles.
  • ✅ Ensured smooth user experience with amazing rendering performance and slick animations.
  • ✅ Made use of Drift ORM, and GetX state management.

🚀 Features

  • ✅ 49000+ Ahadith from the Sunnah
  • ✅ Hadith grade (Sahih, Hasan, Daif, etc.)
  • ✅ Search any word (partial or exact word) - Powerful search engine
  • ✅ Adjustable font size for both Arabic and translation (Pinch zoom feature)
  • ✅ Share option with ability to share images lets one distribute beautiful Hadiths with loved ones.
  • ✅ No Ads
  • ✅ Add/Remove Bookmarks/Favorites with online sync via Google Drive
  • ✅ Start reading from where you left off (last read)
  • ✅ Super quick response & Database load
  • ✅ Multiple View Modes: List view and Page mode
  • ✅ Inclusion of chapters in some books

🛠️ Tech Stack

Architecture and Database

  • Clean Architecture: Organizes code into layers for separation of concerns, making it easier to maintain and test.
  • Drift (SQL ORM Library): Drift is a powerful and reactive persistence library for Flutter and Dart, designed atop SQLite.
  • SQLite: Embedded relational database management system, used locally for storing and querying structured data efficiently.

Frontend Framework

  • Flutter: Google’s UI toolkit for building natively compiled applications for mobile, web, and desktop from a single codebase. Offers expressive and flexible UI components.

State Management

  • GetX: Lightweight and powerful state management solution for Flutter, providing dependency injection, route management, and more.

Backend Services

  • Firebase FCM (Firebase Cloud Messaging): Enables reliable delivery of notifications across platforms, keeping users engaged with timely updates.
  • Firestore: Flexible, scalable database for mobile, web, and server development, facilitating real-time syncing and offline data access.

Rationale

  • Flutter: Enabled us to offer both iOS and Android apps from a single codebase, both of which needed a long overdue update.
  • Drift: Drift was chosen for its robust features tailored for Flutter and Dart, including type-safe code generation that enhances reliability by catching errors at compile time. Its reactive data handling capabilities, which convert SQL queries into auto-updating streams, facilitate seamless real-time data updates, ensuring a responsive user interface.
  • Clean Architecture: Ensures separation of concerns, making the application more modular and easier to maintain, test, and scale.
  • GetX: Provides efficient state management and navigation management, reducing boilerplate.

📲 Download