Rename app identity to JamShalat
This commit is contained in:
412
docs/app-feature-overview.md
Normal file
412
docs/app-feature-overview.md
Normal file
@@ -0,0 +1,412 @@
|
||||
# JamShalat: App Feature Overview
|
||||
|
||||
## What this app does
|
||||
|
||||
JamShalat is a Muslim daily worship companion. It combines prayer schedule utilities, Qur'an reading, dzikir, Islamic reference content, worship tracking, reminders, and personal settings in one app.
|
||||
|
||||
The app is designed to help users:
|
||||
|
||||
- know the current and upcoming prayer times
|
||||
- keep worship routines more consistent
|
||||
- continue Qur'an reading from the last ayat
|
||||
- access daily dzikir, doa, hadits, and Qur'an study tools
|
||||
- receive adzan, iqamah, and habit reminders
|
||||
- review weekly, monthly, and yearly worship progress
|
||||
|
||||
## Main navigation modes
|
||||
|
||||
The app supports 2 navigation modes:
|
||||
|
||||
### 1. Mode lengkap
|
||||
|
||||
Bottom navigation:
|
||||
|
||||
- Beranda
|
||||
- Jadwal
|
||||
- Checklist
|
||||
- Laporan
|
||||
- Alat Islami
|
||||
|
||||
This mode is focused on full habit tracking and reporting.
|
||||
|
||||
### 2. Mode simpel
|
||||
|
||||
Bottom navigation:
|
||||
|
||||
- Beranda
|
||||
- Jadwal
|
||||
- Al-Qur'an
|
||||
- Dzikir
|
||||
- Lainnya
|
||||
|
||||
This mode is focused on faster access to the most-used spiritual features with less UI complexity.
|
||||
|
||||
## Core screens and features
|
||||
|
||||
## Beranda
|
||||
|
||||
Beranda is the main daily dashboard.
|
||||
|
||||
Features:
|
||||
|
||||
- main hero card with the next prayer time
|
||||
- live countdown to the next prayer
|
||||
- city/location label
|
||||
- quick access button to Arah Kiblat
|
||||
- sound toggle for adzan reminders
|
||||
- horizontal prayer schedule cards for today or tomorrow
|
||||
- automatic highlight for the next relevant prayer card
|
||||
- `Lanjutkan Tilawah` card when the user has a last-read Qur'an bookmark
|
||||
- `Poin Ibadah Hari Ini` summary card
|
||||
- weekly points progress chart
|
||||
- `Ayat Hari Ini` card
|
||||
|
||||
`Ayat Hari Ini` supports:
|
||||
|
||||
- deterministic daily ayat
|
||||
- randomize to another ayat
|
||||
- restore back to the daily ayat
|
||||
- share as text
|
||||
- copy text
|
||||
- share as generated image card
|
||||
|
||||
## Kalender Sholat / Jadwal
|
||||
|
||||
This screen is the prayer calendar and city-based schedule browser.
|
||||
|
||||
Features:
|
||||
|
||||
- current city prayer schedule
|
||||
- date-aware prayer timing
|
||||
- support for changing city/kabupaten
|
||||
- schedule browsing for upcoming days
|
||||
- layout optimized for simple mode and full mode
|
||||
|
||||
## Checklist Ibadah
|
||||
|
||||
This feature is available in mode lengkap.
|
||||
|
||||
It acts as the daily worship tracker.
|
||||
|
||||
Tracked areas:
|
||||
|
||||
- 5 daily sholat fardhu
|
||||
- rawatib prayers
|
||||
- tilawah target progress
|
||||
- dzikir pagi and petang
|
||||
- puasa sunnah
|
||||
|
||||
Features:
|
||||
|
||||
- daily completion progress
|
||||
- configurable rawatib level
|
||||
- configurable tilawah target
|
||||
- optional additional worship tracking
|
||||
- automatic recalculation of total points and completion percentage
|
||||
- integration with tilawah and dzikir flows
|
||||
|
||||
## Laporan / Riwayat Ibadah
|
||||
|
||||
This screen summarizes worship quality and history.
|
||||
|
||||
Mode lengkap:
|
||||
|
||||
- weekly tab
|
||||
- monthly tab
|
||||
- yearly tab
|
||||
- weekly average summary
|
||||
- daily point bars
|
||||
- per-day point labels
|
||||
- insights for strongest and weakest worship consistency
|
||||
|
||||
Mode simpel:
|
||||
|
||||
- simplified worship history presentation
|
||||
|
||||
## Al-Qur'an
|
||||
|
||||
This module contains the Qur'an reading experience.
|
||||
|
||||
Features:
|
||||
|
||||
- list of all surah
|
||||
- surah metadata
|
||||
- configurable display:
|
||||
- Arabic only
|
||||
- Arabic + Latin
|
||||
- Arabic + translation
|
||||
- adaptive Arabic font size support
|
||||
- direct access to bookmarks
|
||||
- direct access to enrichment tools
|
||||
|
||||
## Qur'an reading screen
|
||||
|
||||
This is the detailed surah reading screen.
|
||||
|
||||
Features:
|
||||
|
||||
- verse-by-verse reading
|
||||
- Bismillah shown as part of scroll flow instead of fixed header
|
||||
- accurate jump to a target ayat
|
||||
- jump support for:
|
||||
- last read
|
||||
- favorites
|
||||
- continue reading
|
||||
- per-ayat actions:
|
||||
- play verse audio
|
||||
- mark as last read
|
||||
- add to favorites
|
||||
- open tafsir drawer
|
||||
- display settings drawer
|
||||
- quick Arabic font size adjustment
|
||||
- optional Latin and translation display
|
||||
- tilawah session tracking
|
||||
- sync to checklist in mode lengkap
|
||||
|
||||
## Qur'an bookmarks
|
||||
|
||||
This screen stores reading continuity and personal saved ayat.
|
||||
|
||||
Features:
|
||||
|
||||
- `Terakhir Dibaca`
|
||||
- `Ayat Favorit`
|
||||
- open exact surah and ayat
|
||||
- cached ayat content refresh when needed
|
||||
- continue reading CTA
|
||||
|
||||
## Qur'an Murattal
|
||||
|
||||
This is the full-surah audio recitation player.
|
||||
|
||||
Features:
|
||||
|
||||
- play murattal by surah
|
||||
- qari selection
|
||||
- autoplay support
|
||||
- previous/next/shuffle controls
|
||||
- gold-decorated main play button
|
||||
- blurred themed player panel
|
||||
- background artwork
|
||||
- shortcut back to the same surah in reading mode
|
||||
- background playback through shared app-wide audio player
|
||||
|
||||
## Qur'an Enrichment
|
||||
|
||||
This screen provides deeper study tools.
|
||||
|
||||
Tabs:
|
||||
|
||||
- Cari
|
||||
- Tafsir
|
||||
- Juz
|
||||
- Halaman
|
||||
- Tema
|
||||
- Asmaul Husna
|
||||
|
||||
Features:
|
||||
|
||||
- search ayat
|
||||
- tafsir per surah
|
||||
- word-by-word expansion
|
||||
- browse by juz
|
||||
- browse by page
|
||||
- browse by topic/theme
|
||||
- Asmaul Husna reference
|
||||
- Arabic font-size settings in screen
|
||||
|
||||
## Dzikir Harian
|
||||
|
||||
This screen organizes daily dzikir routines.
|
||||
|
||||
Tabs:
|
||||
|
||||
- Sesudah Sholat
|
||||
- Pagi
|
||||
- Petang
|
||||
- Harian
|
||||
|
||||
Features:
|
||||
|
||||
- card mode and focus/slide mode
|
||||
- pembuka slide support for pagi and petang
|
||||
- per-item recitation counter
|
||||
- source structure aligned to Rumaysho reference
|
||||
- daily dzikir separated from morning/evening flow where appropriate
|
||||
- automatic sync between linked dzikir counters
|
||||
- prayer-window reset for `Sesudah Sholat`
|
||||
- day-based reset for `Pagi`, `Petang`, and `Harian`
|
||||
- configurable Arabic font size in-screen
|
||||
- dedicated simple-mode behavior
|
||||
|
||||
## Arah Kiblat
|
||||
|
||||
This is the compass-based qibla finder.
|
||||
|
||||
Features:
|
||||
|
||||
- live compass tracking
|
||||
- location-based qibla direction calculation
|
||||
- device support checks
|
||||
- permission/state handling
|
||||
- themed background with subtle Unsplash imagery
|
||||
- Kaaba-centered compass UI
|
||||
- visual indication when the device is aligned correctly to the qibla direction
|
||||
|
||||
## Kumpulan Doa
|
||||
|
||||
Reference screen for Islamic prayers.
|
||||
|
||||
Features:
|
||||
|
||||
- searchable list of doa
|
||||
- Arabic text
|
||||
- translation and supporting text
|
||||
- refresh action
|
||||
- Arabic font size setting in-screen
|
||||
|
||||
## Hadits Arba'in
|
||||
|
||||
Reference screen for the 40 hadith collection.
|
||||
|
||||
Features:
|
||||
|
||||
- searchable hadith list
|
||||
- Arabic text
|
||||
- translation/explanation text
|
||||
- refresh action
|
||||
- Arabic font size setting in-screen
|
||||
|
||||
## Alat Islami / Lainnya
|
||||
|
||||
This acts as the tool hub.
|
||||
|
||||
Contains shortcuts to:
|
||||
|
||||
- Al-Qur'an Terjemahan
|
||||
- Qur'an Murattal
|
||||
- Arah Kiblat
|
||||
- Dzikir Harian
|
||||
- Kumpulan Doa
|
||||
- Hadits Arba'in
|
||||
- Pendalaman Al-Qur'an
|
||||
|
||||
It also contains:
|
||||
|
||||
- `Ayat Hari Ini`
|
||||
- share actions for the ayat
|
||||
- randomize another ayat
|
||||
|
||||
## Notifications
|
||||
|
||||
The app has a dedicated notification center.
|
||||
|
||||
Tabs:
|
||||
|
||||
- Alarm
|
||||
- Pesan
|
||||
|
||||
Alarm tab features:
|
||||
|
||||
- list of scheduled adzan notifications
|
||||
- list of scheduled iqamah reminders
|
||||
- `Akan Datang` filter
|
||||
- `Sudah Lewat` filter
|
||||
- refresh action
|
||||
|
||||
Pesan tab features:
|
||||
|
||||
- inbox-style message list
|
||||
- read/unread state
|
||||
- mark all as read
|
||||
- system and non-prayer message support
|
||||
|
||||
## Adzan and reminders
|
||||
|
||||
The app schedules local notifications based on the selected city and prayer times.
|
||||
|
||||
Supported reminders:
|
||||
|
||||
- adzan
|
||||
- iqamah
|
||||
- checklist reminder
|
||||
- other non-prayer habit/system reminders
|
||||
|
||||
Implementation highlights:
|
||||
|
||||
- local timezone-aware scheduling
|
||||
- exact alarm support on Android where available
|
||||
- permission handling for notification and exact alarm access
|
||||
- per-prayer enable/disable behavior
|
||||
|
||||
## Settings and personalization
|
||||
|
||||
The app includes a broad settings screen.
|
||||
|
||||
Sections include:
|
||||
|
||||
- Preferensi
|
||||
- Pemberitahuan
|
||||
- Checklist Ibadah
|
||||
- Tampilan Dzikir
|
||||
- Waktu Sholat
|
||||
- Tampilan
|
||||
- Tentang
|
||||
|
||||
Key settings:
|
||||
|
||||
- mode lengkap / mode simpel
|
||||
- light mode / dark mode
|
||||
- city selection
|
||||
- prayer calculation method
|
||||
- iqamah offset per prayer
|
||||
- adzan notification toggle
|
||||
- global alert toggle
|
||||
- inbox/message toggle
|
||||
- quiet hours
|
||||
- maximum non-prayer pushes per day
|
||||
- checklist reminder time
|
||||
- rawatib level
|
||||
- tilawah target
|
||||
- dzikir and puasa tracking toggles
|
||||
- Arabic font size
|
||||
- profile editing
|
||||
- data reset
|
||||
|
||||
## Visual and UX features
|
||||
|
||||
The app also includes a number of presentation-focused improvements:
|
||||
|
||||
- custom bottom navigation with premium gold active state
|
||||
- hidden theme toggle revealed by sliding the bottom bar
|
||||
- HugeIcons-based icon system
|
||||
- dark and light mode support
|
||||
- adaptive Arabic typography
|
||||
- reusable share card generation for ayat
|
||||
- route-aware bottom bar visibility in focus-heavy screens
|
||||
|
||||
## Data and persistence
|
||||
|
||||
The app stores user state locally for continuity.
|
||||
|
||||
Persisted examples:
|
||||
|
||||
- settings
|
||||
- worship logs
|
||||
- dzikir progress
|
||||
- tilawah progress
|
||||
- Qur'an last read
|
||||
- Qur'an favorites
|
||||
- notification inbox state
|
||||
|
||||
## In short
|
||||
|
||||
JamShalat is not only a prayer-time app. It is a daily Islamic companion that combines:
|
||||
|
||||
- prayer schedule
|
||||
- adzan and iqamah reminders
|
||||
- qibla finder
|
||||
- Qur'an reading and murattal
|
||||
- dzikir, doa, and hadith references
|
||||
- worship checklist and reporting
|
||||
- personal spiritual continuity through bookmarks, reminders, and progress tracking
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Last updated: 2026-03-16
|
||||
Owner: Product + Mobile
|
||||
Scope: `jamshalat_diary` (Flutter)
|
||||
Scope: `JamShalat` (Flutter)
|
||||
|
||||
## Implementation Status (2026-03-17)
|
||||
- Phase 1: Implemented.
|
||||
|
||||
Reference in New Issue
Block a user