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.
- 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
- 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
- SQLite Integration: Robust local database (Version 5)
- Data Tables:
suras: All available surasselected_suras: Daily review selectionsdaily_progress: Progress trackingpreferences: User settingssura_stats: Review statistics
- CRUD Operations: Full create, read, update, delete functionality
- 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
- 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
- Progress Tracking: Real-time percentage calculations
- Review History: Track last reviewed dates
- Frequency Counters: Monitor review repetitions
- Data Export: Export progress reports (planned)
- 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)
-
Clone the repository
git clone https://github.com/KusayAhmad/-Quran-Review-App-.git cd quran_review_app -
Install dependencies
flutter pub get
-
Generate app icons (optional)
flutter pub run flutter_launcher_icons:main
-
Run the application
flutter run
flutter build apk --releaseflutter build ios --releaseflutter build web --release- โ Android (API 21+)
- โ iOS (11.0+)
- โ Web (Chrome, Firefox, Safari, Edge)
- โ Desktop (Windows, macOS, Linux)
- Framework: Flutter 3.0+
- Language: Dart 3.0+
- Database: SQLite (sqflite)
- State Management: StatefulWidget
- Internationalization: flutter_localizations
- UI Components: Material Design
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
| 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 |
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
# 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- Changelog - Version history and changes (Arabic/English)
- Changelog (English) - English version
- API Documentation - Detailed API reference
- User Guide - How to use the app
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- Android: Modify
android/app/build.gradle - iOS: Configure in
ios/Runner/Info.plist - Web: Update
web/index.html
# All tests
flutter test
# Specific test file
flutter test test/widget_test.dart
# With coverage
flutter test --coveragetest/
โโโ 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
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Discussions
- Questions: Stack Overflow
This project is licensed under the MIT License - see the LICENSE file for details.
- 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
- Total Lines of Code: ~2,500+
- Database Tables: 5
- Supported Languages: 2 (Arabic, English)
- Screen Count: 2 main screens
- Test Coverage: 85%+
- 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
- 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!