Skip to content

KusayAhmad/Quran-Memorization-Review-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

50 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“– Quran Review App

Flutter Dart License Platform

A comprehensive Flutter application designed to help users track and manage their daily Quran memorization review progress. The app provides an intuitive interface for selecting, reviewing, and monitoring completion of Suras (chapters) from the Holy Quran.

โœจ Features

๐Ÿ  Home Screen

  • Interactive Progress Tracking: Visual progress bar showing completion percentage
  • Daily Review List: Display selected suras for daily review
  • Quick Actions: Tap to mark suras as reviewed/not reviewed
  • Swipe to Delete: Remove suras with undo functionality
  • Completion Celebration: Congratulatory message with reviewed pages count

๐Ÿ“– Sura Management

  • Comprehensive Sura Database: Pre-loaded with all Quran suras
  • Advanced Search: Quick search functionality to find specific suras
  • Multiple Sorting Options:
    • Alphabetical (A-Z / Z-A)
    • By last reviewed date
    • Custom preferences saving
  • Detailed Statistics: Track review history and frequency for each sura

๐Ÿ—ƒ๏ธ Database & Storage

  • SQLite Integration: Robust local database (Version 5)
  • Data Tables:
    • suras: All available suras
    • selected_suras: Daily review selections
    • daily_progress: Progress tracking
    • preferences: User settings
    • sura_stats: Review statistics
  • CRUD Operations: Full create, read, update, delete functionality

๐ŸŒ Internationalization

  • Bilingual Support: Arabic and English languages
  • Dynamic Language Switching: Change language from settings menu
  • RTL/LTR Support: Adaptive text direction
  • Persistent Language: Settings saved in database

๐ŸŽจ Theme & Design

  • Light & Dark Modes: Eye-comfortable viewing options
  • Material Design: Modern, clean interface
  • Responsive Layout: Optimized for all screen sizes
  • Custom Color Schemes: Harmonious pink/gray gradients

๐Ÿ“Š Analytics & Statistics

  • Progress Tracking: Real-time percentage calculations
  • Review History: Track last reviewed dates
  • Frequency Counters: Monitor review repetitions
  • Data Export: Export progress reports (planned)

๐Ÿš€ Getting Started

Prerequisites

  • Flutter SDK: >=3.0.0 <4.0.0
  • Dart SDK: >=3.0.0
  • Development Environment:
    • Android Studio / VS Code
    • Android SDK (for Android development)
    • Xcode (for iOS development)

Installation

  1. Clone the repository

    git clone https://github.com/KusayAhmad/-Quran-Review-App-.git
    cd quran_review_app
  2. Install dependencies

    flutter pub get
  3. Generate app icons (optional)

    flutter pub run flutter_launcher_icons:main
  4. Run the application

    flutter run

Build for Production

Android APK

flutter build apk --release

iOS

flutter build ios --release

Web

flutter build web --release

๐Ÿ“ฑ Supported Platforms

  • โœ… Android (API 21+)
  • โœ… iOS (11.0+)
  • โœ… Web (Chrome, Firefox, Safari, Edge)
  • โœ… Desktop (Windows, macOS, Linux)

๐Ÿ—๏ธ Architecture

Technology Stack

  • Framework: Flutter 3.0+
  • Language: Dart 3.0+
  • Database: SQLite (sqflite)
  • State Management: StatefulWidget
  • Internationalization: flutter_localizations
  • UI Components: Material Design

Project Structure

lib/
โ”œโ”€โ”€ main.dart                 # App entry point
โ”œโ”€โ”€ database/
โ”‚   โ””โ”€โ”€ database_helper.dart  # Database operations
โ”œโ”€โ”€ models/
โ”‚   โ”œโ”€โ”€ sura_model.dart      # Sura data model
โ”‚   โ””โ”€โ”€ sura_stats_model.dart # Statistics model
โ”œโ”€โ”€ screens/
โ”‚   โ”œโ”€โ”€ home_screen.dart     # Main screen
โ”‚   โ””โ”€โ”€ select_suras_screen.dart # Sura selection
โ”œโ”€โ”€ utils/
โ”‚   โ”œโ”€โ”€ sura_dialogs.dart    # UI dialogs
โ”‚   โ””โ”€โ”€ sura_sorter.dart     # Sorting utilities
โ””โ”€โ”€ l10n/                    # Localization files
    โ”œโ”€โ”€ app_ar.arb          # Arabic translations
    โ””โ”€โ”€ app_en.arb          # English translations

๐Ÿ“ฆ Dependencies

Package Version Purpose
flutter SDK Core framework
sqflite ^2.4.1 Local database
path_provider ^2.1.5 File system paths
percent_indicator ^4.2.4 Progress indicators
intl ^0.19.0 Internationalization
flutter_launcher_icons ^0.14.3 App icons

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Setup

# Clone your fork
git clone https://github.com/yourusername/-Quran-Review-App-.git

# Add upstream remote
git remote add upstream https://github.com/KusayAhmad/-Quran-Review-App-.git

# Create feature branch
git checkout -b feature/your-feature-name

# Install dependencies
flutter pub get

# Run tests
flutter test

# Start development
flutter run

๐Ÿ“– Documentation

๐Ÿ”ง Configuration

Environment Variables

Create a .env file in the root directory:

# Database configuration
DB_VERSION=5
DB_NAME=QuranReview.db

# App configuration
APP_NAME=Quran Review App
APP_VERSION=1.0.0

Build Configuration

  • Android: Modify android/app/build.gradle
  • iOS: Configure in ios/Runner/Info.plist
  • Web: Update web/index.html

๐Ÿงช Testing

Run Tests

# All tests
flutter test

# Specific test file
flutter test test/widget_test.dart

# With coverage
flutter test --coverage

Test Structure

test/
โ”œโ”€โ”€ widget_test.dart         # Widget tests
โ”œโ”€โ”€ unit_tests/
โ”‚   โ”œโ”€โ”€ database_test.dart   # Database tests
โ”‚   โ””โ”€โ”€ models_test.dart     # Model tests
โ””โ”€โ”€ integration_tests/
    โ””โ”€โ”€ app_test.dart        # End-to-end tests

๐Ÿ› Issues & Support

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘ Acknowledgments

  • Flutter Team for the amazing framework
  • Dart Team for the powerful language
  • Community Contributors for their valuable input
  • Beta Testers for their feedback and bug reports
  • Islamic Resources for providing accurate Quran data

๐Ÿ“Š Project Stats

  • Total Lines of Code: ~2,500+
  • Database Tables: 5
  • Supported Languages: 2 (Arabic, English)
  • Screen Count: 2 main screens
  • Test Coverage: 85%+

[Planned Future Releases] - Future Releases

๐Ÿ”ฎ Planned Features

  • Daily review reminder system
  • Advanced statistics and monthly reports
  • Cloud backup for data
  • Share progress with friends
  • Points and achievements system
  • Support for additional languages (French, English)
  • Advanced night reading mode
  • Custom colors and themes
  • Export progress to PDF files

๐Ÿ› Planned Fixes

  • Improve database performance with large data
  • Enhance animations and transitions
  • Add more sorting options
  • Improve percentage calculation accuracy

Made with โค๏ธ for the Muslim community

Star โญ this repository if you find it helpful!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors