Logo Lanfrica

ikosaheadrom/MoroccanPrayerTimes

Domaine:

digital infrastructure

Type de record:

softwaretools
Créateur:
iko
Hôte:
An android app for moroccan prayer times, it can use morocco's ministry of islamic affairs times, can also use offline calculations and the adhan api. It’s mostly vibe-coded, so keep your expectations realistic, but it works :) # Prayer Times App and android app i created for fun and to fix a problem that i have been experiancing with prayer times from other apps that dont match morocco's ministry times, so you end up really confused, this app pulls the data directly from the ministry's official page so no need to struggle any longer. ## Features ### Core Functionality - **Dual Prayer Time Sources** - Ministry of Religious Affairs API (Moroccan Government) - AlAdhan API with custom Islamic calculation methods - Offline calculation mode for areas without internet - **Home Screen Widgets** - Vertical widget (3-column layout) - Horizontal widget (2x3 grid layout) - Manual refresh button with fresh data fetching - Real-time prayer time highlighting - Customizable appearance (colors, transparency, dark mode) - **Smart Notifications** - Global/advanced notification control - Athan (Islamic call to prayer) audio notifications - Notification sounds based on preference - Scheduled prayer time reminders - **Prayer Calendar** - Sourced from : habous.gov.ma - Monthly Islamic calendar view - Gregorian and Hijri date support - Historical prayer times for any day - City-based prayer time lookup - **Location Management** - All cities supported by the ministry are also here - Manual coordinate input - Quick Access favorites system - **Offline Support** - Offline prayer calculation without internet ## Architecture ### Technology Stack - **Frontend**: Flutter (Dart) - **Backend/Android**: Kotlin - **Data Storage**: SharedPreferences (Dart & Android) - **Background Tasks**: WorkManager (daily/monthly refresh) - **Notifications**: flutter_local_notifications - **JSON Parsing**: Gson ### Key Components #### Dart/Flutter Layer - `lib/main.dart` - Main app UI and state management - `lib/services/api_service.dart` - API communication - `lib/services/background_tasks.dart` - Scheduled tasks (daily/monthly refresh) - `lib/services/daily_prayer_parser.dart` - Ministry API HTML parsing - ` …

Licenses