Aplikasi web modern untuk melacak dan mengelola jadwal puasa Ayyamul Bidh โ puasa sunnah yang dijalankan setiap tanggal 13, 14, dan 15 dalam kalender Hijriyah. Dibangun dengan teknologi web standar (HTML5, CSS3, Vanilla JavaScript) tanpa framework kompleks, sehingga ringan, cepat, dan mudah dipelihara.
Dashboard memberikan ringkasan lengkap semua informasi penting dalam satu tampilan:
- ๐ Tanggal Ganda: Menampilkan tanggal Hijriyah dan Masehi hari ini secara real-time
- โฐ Jam Digital: Jam yang diperbarui setiap detik dengan deteksi zona waktu Indonesia otomatis (WIB/WITA/WIT)
- โณ Hitung Mundur Ayyamul Bidh: Informasi berapa hari lagi menuju periode puasa Ayyamul Bidh berikutnya
- ๐ Jadwal Shalat Hari Ini: Ringkasan 6 waktu shalat dengan countdown ke shalat berikutnya
- ๐ Statistik Puasa:
- Progress puasa bulan ini (dari target 3 hari)
- Total puasa tahun ini (dari target 36 hari)
- Streak: berapa bulan berturut-turut menyelesaikan puasa Ayyamul Bidh
- ๐ Akses Cepat: Tombol pintas untuk navigasi ke fitur-fitur utama
Fitur jadwal shalat yang lengkap dan akurat berdasarkan lokasi Anda:
- 7 Waktu Shalat: Imsak, Subuh, Terbit (Syuruq), Dzuhur, Ashar, Maghrib, dan Isya
- โฐ Jam Real-Time: Ditampilkan dengan zona waktu yang terdeteksi otomatis
- โฑ๏ธ Hitung Mundur: Informasi "Akan tiba dalam X menit" untuk shalat berikutnya
- โจ Penanda Visual: Shalat yang sedang berlangsung diberi highlight khusus
- ๐ Tabel Jadwal Bulanan: Jadwal lengkap untuk 30 hari ke depan dengan scroll horizontal
- ๐ Berbasis Lokasi: Menggunakan koordinat GPS atau input manual kota untuk akurasi tinggi
- โ๏ธ Metode Kalkulasi: Mendukung 7 metode perhitungan, default menggunakan standar Kementerian Agama RI
Kalender visual yang memudahkan pelacakan tanggal Hijriyah:
- ๐ Konversi Tanggal: Konversi dua arah antara kalender Masehi (Gregorian) dan Hijriyah
- ๐จ Tampilan Visual Menarik:
- Grid kalender dengan highlight otomatis untuk tanggal Ayyamul Bidh (13, 14, 15)
- Penanda hari yang sudah berpuasa (terintegrasi dengan tracker)
- Indikator tanggal hari ini
- ๐งญ Navigasi Mudah: Tombol prev/next untuk berpindah bulan, plus tombol "Hari Ini"
- ๐ Jadwal 3 Bulan: Menampilkan jadwal Ayyamul Bidh untuk 3 bulan ke depan
- โน๏ธ Info Detail: Klik tanggal untuk melihat informasi lengkap
Sistem pencatatan puasa yang lengkap dengan analitik:
- โ Check/Uncheck Sederhana: Tandai hari puasa hanya dengan satu klik
- ๐ Statistik Multi-Level:
- Bulanan: Progress dari target 3 hari per bulan (dengan persentase dan bar chart)
- Tahunan: Progress dari target 36 hari per tahun (dengan persentase)
- Streak: Tracking berapa bulan berturut-turut Anda menyelesaikan 3 hari puasa
- ๐ Riwayat Lengkap:
- Accordion per bulan dengan status: Lengkap (3/3), Sebagian (1-2/3), atau Kosong
- Filter dan sortir berdasarkan tanggal
- ๐พ Backup & Restore:
- Export data ke format JSON
- Import data dari backup dengan validasi integrity
- Backup otomatis sebelum import
Referensi keislaman yang bermanfaat:
- ๐ Dalil & Hadits: Hadits shahih tentang keutamaan puasa Ayyamul Bidh dengan sanad
- ๐คฒ Doa-Doa Puasa:
- Doa berbuka puasa (Arab + Latin + Terjemahan Indonesia)
- Doa sahur (Arab + Latin + Terjemahan Indonesia)
- Niat puasa sunnah
- โ FAQ (Tanya Jawab): Jawaban untuk 10+ pertanyaan umum seputar puasa Ayyamul Bidh
- ๐ก Tips Praktis: Panduan dan tips agar konsisten menjalankan puasa sunnah
Kustomisasi aplikasi sesuai kebutuhan Anda:
- ๐ Manajemen Lokasi:
- Auto-detect menggunakan GPS browser (dengan izin pengguna)
- Input manual: Nama kota + Negara
- Simpan preferensi lokasi
- ๐ Metode Kalkulasi Shalat (7 pilihan):
- Kementerian Agama Republik Indonesia (Default) โญ
- Muslim World League (MWL)
- Islamic Society of North America (ISNA)
- Egyptian General Authority of Survey
- Umm Al-Qura University, Mekkah
- University of Islamic Sciences, Karachi
- Institute of Geophysics, University of Tehran
- ๐พ Manajemen Data:
- Export: Unduh semua data dalam format JSON
- Import: Restore data dari file backup dengan validasi
- Reset: Hapus semua data (dengan konfirmasi ganda untuk keamanan)
- ๐ Privasi: Semua data tersimpan di browser Anda (localStorage), tidak ada server eksternal
Cara paling mudah - Langsung buka di browser:
-
Download Aplikasi:
- Klik tombol hijau "Code" di halaman GitHub ini
- Pilih "Download ZIP"
- Extract file ZIP ke folder di komputer Anda
-
Buka Aplikasi:
- Cari file
index.htmldi folder hasil extract - Double-click file tersebut, atau
- Klik kanan โ "Open with" โ Pilih browser favorit (Chrome/Firefox/Edge)
- Cari file
-
Setup Awal (hanya sekali):
- Aplikasi akan meminta izin untuk mengakses lokasi GPS โ Klik "Izinkan/Allow"
- Jika tidak ingin menggunakan GPS, klik "Skip" dan atur lokasi manual di menu Pengaturan
-
Siap Digunakan! ๐
- Dashboard akan menampilkan semua informasi
- Mulai tandai hari puasa Anda di menu Tracker
- Lihat jadwal shalat di menu Jadwal Shalat
- Cek kalender Hijriyah di menu Kalender
๐ก Tips untuk Pengguna:
- ๐พ Backup Rutin: Export data Anda secara berkala dari menu Pengaturan
- ๐ Bookmark: Tambahkan ke bookmark browser untuk akses cepat
- ๐ Update Lokasi: Jika pindah kota, update lokasi di Pengaturan
- ๐ Cek Rutin: Lihat countdown Ayyamul Bidh di dashboard setiap hari
Aplikasi ini sangat mudah untuk di-develop karena tidak memerlukan build process yang kompleks.
Opsi 1: Buka Langsung di Browser (Paling Sederhana)
# Clone repository
git clone https://github.com/yourusername/puasa-ayyamul-bidh.git
cd puasa-ayyamul-bidh
# Buka index.html langsung di browser
# Atau gunakan extension "Live Server" di VS Code untuk auto-reloadOpsi 2: Development Server dengan Vite (Direkomendasikan)
# Install dependencies (hanya untuk dev tools)
npm install
# Jalankan development server
npm run dev
# Aplikasi akan berjalan di http://localhost:5173
# Build untuk production (optional)
npm run buildOpsi 3: HTTP Server Alternatif
# Menggunakan http-server
npm run serve
# Aplikasi akan berjalan di http://localhost:8000Setup Awal Development:
- Izinkan akses lokasi GPS atau set manual di menu Pengaturan
- Pilih metode kalkulasi shalat (default: Kemenag RI sudah sesuai untuk Indonesia)
- Buka DevTools untuk melihat console logs dan debugging
- Mulai coding!
๐ Dokumentasi Developer:
Lihat folder .agent/ untuk dokumentasi lengkap:
AI_AGENT_GUIDE.md- Panduan lengkap untuk AI assistantsCODING_STANDARDS.md- Style guide dan konvensi kodeSECURITY_GUIDELINES.md- Best practices keamananPROJECT_OVERVIEW.md- Arsitektur dan overview sistem
Framework & Library Utama:
- HTML5 - Semantic markup dengan accessibility terbaik
- CSS3 - Custom styling modern
- Bootstrap 5.3.8 - Framework CSS untuk responsive design dan komponen UI
- Vanilla JavaScript ES6+ - Modular JavaScript tanpa framework, menggunakan ES6 Modules
- localStorage Web API - Penyimpanan data lokal dengan validation layer
External APIs:
- Aladhan API - Prayer times calculation & Hijri calendar conversion
- Browser Geolocation API - Deteksi lokasi pengguna otomatis
AI-Powered Development:
- Google Antigravity Editor - AI-powered code editor untuk development workflow ๐ค
- Google Gemini 3.0 Pro - AI assistant untuk coding, refactoring, dan problem solving ๐ง
- Anthropic Claude 4.5 Sonnet - AI assistant untuk code review, documentation, dan quality assurance ๐
Build Tools (Dev Only):
- Vite 7.2.4 - Lightning-fast development server dengan Hot Module Replacement (HMR)
- http-server 14.1.1 - Simple HTTP server alternatif
- Terser 5.44.1 - JavaScript minifier untuk production build
- npm - Package manager
Styling & Assets:
- Bootstrap Icons - Icon library
- Google Fonts - Web fonts (Inter untuk Latin, Amiri untuk Arabic)
โ ๏ธ Catatan Penting: Aplikasi ini tidak memerlukan build process untuk berjalan. Semua JavaScript modules dimuat langsung oleh browser menggunakan ES6 import/export. Vite dan build tools hanya digunakan untuk development experience yang lebih baik (hot reload, dll).
puasa-ayyamul-bidh/
โโโ .agent/ # ๐ค Dokumentasi AI Agent & Workflows
โ โโโ rules/ # Aturan dan guidelines untuk AI
โ โโโ workflows/ # Workflow automasi
โ โโโ AI_AGENT_GUIDE.md # Panduan lengkap untuk AI assistants
โ โโโ PROJECT_OVERVIEW.md # Overview arsitektur sistem
โ โโโ SECURITY_GUIDELINES.md # Best practices keamanan
โ โโโ CODING_STANDARDS.md # Standar dan konvensi kode
โ
โโโ js/ # ๐ฆ JavaScript Modules (ES6)
โ โโโ config.js # โ๏ธ Konfigurasi dan konstanta global
โ โโโ validators.js # ๐ก๏ธ Validasi dan sanitasi data (security layer)
โ โโโ storage.js # ๐พ localStorage wrapper dengan auto-validation
โ โโโ app.js # ๐ฎ Main application controller & lifecycle
โ โโโ prayer-times.js # ๐ Integrasi Aladhan API untuk jadwal shalat
โ โโโ hijri-calendar.js # ๐
Logika kalender Hijriyah & konversi
โ โโโ hijri-calculator.js # ๐งฎ Kalkulasi Hijri lokal (progressive loading)
โ โโโ tracker.js # ๐ Tracker puasa dengan statistik
โ โโโ utils.js # ๐ง Helper functions & utilities
โ โโโ request-queue.js # ๐ฆ Queue management untuk API requests
โ โโโ main.js # ๐ช Entry point aplikasi
โ
โโโ css/ # ๐จ Stylesheets
โ โโโ style.css # Main stylesheet
โ โโโ components.css # Component-specific styles
โ
โโโ assets/ # ๐ผ๏ธ Images & static files
โ
โโโ plan/ # ๐ Planning docs & implementation notes
โ โโโ code-review-report.md # Laporan security audit
โ โโโ implementation-summary.md # Ringkasan implementasi
โ โโโ ... (dokumen planning lainnya)
โ
โโโ dist/ # ๐ฆ Production build output (generated)
โ
โโโ *.html # ๐ HTML Pages
โ โโโ index.html # Dashboard / Home page
โ โโโ jadwal-shalat.html # Prayer times page
โ โโโ kalender.html # Hijri calendar page
โ โโโ tracker.html # Fasting tracker page
โ โโโ panduan.html # Islamic guide page
โ โโโ pengaturan.html # Settings page
โ
โโโ package.json # ๐ฆ npm configuration
โโโ vite.config.js # โก Vite configuration
โโโ README.md # ๐ Dokumentasi ini
| File | Ukuran | Deskripsi |
|---|---|---|
js/app.js |
~16 KB | Controller utama yang mengkoordinasikan semua modules |
js/validators.js |
~11 KB | Security layer dengan validasi schema lengkap |
js/hijri-calendar.js |
~13 KB | Logika kalender Hijriyah dengan progressive loading |
js/prayer-times.js |
~11 KB | Integrasi API dengan caching & error handling |
js/utils.js |
~10 KB | Helper functions untuk formatting, timezone, dll |
js/tracker.js |
~10 KB | Manajemen data puasa dengan statistik |
js/storage.js |
~6 KB | localStorage wrapper dengan validation otomatis |
Aplikasi menggunakan ES6 Modules dengan prinsip Separation of Concerns dan Single Responsibility:
// Dependency Flow (Hierarki Module)
main.js
โโโถ app.js (Application Controller)
โโโถ config.js (Global constants & configuration)
โโโถ validators.js (Input validation & sanitization)
โโโถ storage.js (localStorage dengan auto-validation)
โโโถ prayer-times.js (Aladhan API integration)
โโโถ hijri-calendar.js (Kalender Hijriyah logic)
โโโถ hijri-calculator.js (Local Hijri calculation)
โโโถ tracker.js (Fasting data management)
โโโถ request-queue.js (API request queuing)
โโโถ utils.js (Helper utilities)| Module | Purpose | Key Features | Dependencies |
|---|---|---|---|
| config.js | Konfigurasi terpusat | Constants, API endpoints, validation rules | - |
| validators.js | Security layer | Schema validation, sanitization, prototype pollution prevention | config.js |
| storage.js | Data persistence | localStorage wrapper dengan auto-validation | validators.js, config.js |
| app.js | Application controller | Lifecycle management, koordinasi modules, event handling | Semua modules |
| prayer-times.js | Prayer times API | Aladhan API integration, caching, error handling | validators.js, storage.js, request-queue.js |
| hijri-calendar.js | Hijri calendar | Date conversion, Ayyamul Bidh calculation, progressive loading | hijri-calculator.js, prayer-times.js, validators.js |
| hijri-calculator.js | Local Hijri calc | Offline Hijri calculation untuk initial load | - |
| tracker.js | Fasting tracker | Data management, statistics, import/export | storage.js, validators.js |
| utils.js | Utilities | Date formatting, timezone detection, toast, helpers | config.js |
| request-queue.js | API queue | Rate limiting, request queuing untuk API calls | - |
graph TB
User[๐ค User Interaction] --> UI[๐ฅ๏ธ HTML Pages]
UI --> App[๐ฎ app.js Controller]
App --> PT[๐ prayer-times.js]
App --> HC[๐
hijri-calendar.js]
App --> TR[๐ tracker.js]
PT --> API1[๐ Aladhan API]
HC --> API1
HC --> CALC[๐งฎ hijri-calculator.js]
PT --> Cache[๐พ storage.js]
HC --> Cache
TR --> Cache
Cache --> LS[๐ฆ localStorage]
PT --> VAL[๐ก๏ธ validators.js]
HC --> VAL
TR --> VAL
Cache --> VAL
VAL --> CFG[โ๏ธ config.js]
style App fill:#10b981
style VAL fill:#ef4444
style Cache fill:#3b82f6
Aplikasi menerapkan Defense in Depth dengan multiple security layers:
- Input Layer โ
validators.js- Validasi & sanitasi semua input - Storage Layer โ
storage.js- Auto-validation pada read/write localStorage - API Layer โ
prayer-times.js- Validasi response sebelum digunakan - Presentation Layer โ Safe DOM manipulation (textContent, createElement)
Aplikasi ini dibangun dengan pendekatan security-first menggunakan multiple layers of protection:
| Layer | Proteksi | Implementasi |
|---|---|---|
| Input | XSS Prevention | Sanitasi input via Validators.sanitizeString(), safe DOM manipulation |
| Storage | localStorage Injection Prevention | Auto-validation pada semua read/write operations |
| API | Response Validation | Schema validation untuk semua API responses |
| Object | Prototype Pollution Prevention | Deep cloning dengan filtering __proto__, constructor, dll |
| Display | Safe Rendering | Hanya gunakan textContent, createElement - NO innerHTML |
โ Semua critical vulnerabilities telah diperbaiki:
- XSS (Cross-Site Scripting)
- Prototype Pollution
- localStorage Injection
- Unvalidated API Data
- Debug Code Leakage
๐ Detail lengkap: Lihat plan/code-review-report.md dan plan/implementation-summary.md
- ๐ฑ Mobile-First: Responsive dari smartphone hingga desktop
- โฟ Accessible: Semantic HTML, ARIA labels, keyboard navigation support
- โก Performance: Caching optimal, minimal API calls, lazy loading
- ๐ฏ Clean & Simple: Interface modern, minimalis dengan estetika Islami
| Fungsi | Warna | Hex Code |
|---|---|---|
| Primary | Emerald Green | #10b981 |
| Accent | Teal | #14b8a6 |
| Background | Light Gray | #f9fafb |
| Text | Dark Gray | #1f2937 |
- Latin: Inter (Google Fonts) - modern sans-serif
- Arabic: Amiri (Google Fonts) - traditional Arabic font
Berikut adalah penjelasan lengkap untuk setiap halaman dan fitur dalam aplikasi:
Informasi Real-Time:
- Tanggal Hijriyah dan Masehi hari ini dengan auto-update
- Jam digital yang update setiap detik dengan zona waktu Indonesia (WIB/WITA/WIT)
- Countdown dinamis ke periode Ayyamul Bidh berikutnya
Ringkasan Waktu Shalat:
- Grid 6 waktu shalat hari ini (Subuh, Dzuhur, Ashar, Maghrib, Isya, Imsak)
- Countdown ke shalat berikutnya dengan format "Akan tiba dalam X menit"
- Highlight otomatis untuk shalat yang sedang berlangsung
Statistik Puasa:
- Progress bulan ini (contoh: 2/3 hari)
- Total puasa tahun ini (contoh: 24/36 hari)
- Streak: berapa bulan berturut-turut menyelesaikan 3 hari puasa
Akses Cepat:
- Tombol navigasi ke semua halaman utama
Display Waktu:
- Jam digital real-time (HH:MM:SS) dengan zona waktu otomatis
- 7 waktu shalat lengkap: Imsak, Subuh, Terbit, Dzuhur, Ashar, Maghrib, Isya
- Countdown real-time ke shalat berikutnya
Jadwal Bulanan:
- Tabel jadwal lengkap untuk 30 hari ke depan
- Scroll horizontal untuk kemudahan navigasi
Akurasi:
- Berbasis koordinat GPS atau input manual kota
- Mendukung 7 metode kalkulasi internasional
Konversi Tanggal:
- Gregorian (Masehi) โ Hijri (Komariyah)
- Hijri (Komariyah) โ Gregorian (Masehi)
Tampilan Kalender:
- Grid visual dengan highlight tanggal Ayyamul Bidh (13, 14, 15)
- Integrasi dengan tracker - menampilkan tanggal yang sudah berpuasa
- Penanda hari ini
Navigasi:
- Tombol Prev/Next untuk berpindah bulan
- Tombol "Hari Ini" untuk kembali ke bulan sekarang
- Jadwal 3 bulan ke depan untuk Ayyamul Bidh
Pencatatan:
- Checkbox untuk mark/unmark hari puasa
- Interface sederhana dan intuitif
Analitik:
- Bulanan: Progress dari target 3 hari (dengan bar chart)
- Tahunan: Progress dari target 36 hari (dengan persentase)
- Streak: Tracking konsistensi (berapa bulan berturut-turut lengkap)
Riwayat:
- Accordion per bulan dengan status: Lengkap (3/3), Sebagian (1-2/3), Kosong
- Filter dan sorting berdasarkan tanggal
Backup & Restore:
- Export: Download data ke file JSON
- Import: Upload file backup dengan validasi integrity
- Backup otomatis sebelum import untuk keamanan
Dalil & Hadits:
- Hadits shahih tentang keutamaan puasa Ayyamul Bidh
- Sanad dan penjelasan konteks
Doa-Doa:
- Doa berbuka puasa (Arab, Latin, Terjemahan Indonesia)
- Doa sahur (Arab, Latin, Terjemahan Indonesia)
- Niat puasa sunnah
Tanya Jawab (FAQ):
- 10+ pertanyaan umum dan jawabannya
- Hukum, tata cara, dan tips praktis
Manajemen Lokasi:
- Auto-detect menggunakan GPS browser (dengan izin pengguna)
- Input manual: Nama Kota + Negara
- Simpan preferensi untuk penggunaan berikutnya
Metode Kalkulasi Shalat:
- Kementerian Agama RI (Default - Indonesia) โญ
- Muslim World League (MWL)
- Islamic Society of North America (ISNA)
- Egyptian General Authority of Survey
- Umm Al-Qura University, Mekkah
- University of Islamic Sciences, Karachi
- Institute of Geophysics, University of Tehran
Manajemen Data:
- Export: Unduh semua data dalam format JSON
- Import: Restore dari file backup dengan validasi
- Reset: Hapus semua data (konfirmasi ganda untuk mencegah kesalahan)
Privasi:
- Semua data tersimpan lokal di browser Anda (localStorage)
- Tidak ada pengiriman data ke server eksternal
- Data hanya bisa diakses oleh Anda
| Browser | Versi Minimum | Status |
|---|---|---|
| Chrome / Edge | Terbaru | โ Didukung penuh |
| Firefox | Terbaru | โ Didukung penuh |
| Safari | Terbaru | โ Didukung penuh |
| Opera | Terbaru | โ Didukung penuh |
| Mobile Safari | iOS 12+ | โ Didukung |
| Chrome Mobile | Android 5+ | โ Didukung |
โ ๏ธ Catatan Penting: Fitur Geolocation (GPS) memerlukan koneksi HTTPS atau localhost untuk alasan keamanan.
# 1. Clone repository
git clone https://github.com/yourusername/puasa-ayyamul-bidh.git
cd puasa-ayyamul-bidh
# 2. Install dev dependencies
npm install
# 3. Jalankan development server
npm run dev
# Atau gunakan alternatif:
npm run serveDokumentasi lengkap tersedia di folder .agent/:
AI_AGENT_GUIDE.md- Panduan comprehensive untuk AI assistantsCODING_STANDARDS.md- Style guide dan konvensi kodeSECURITY_GUIDELINES.md- Security patterns dan best practicesPROJECT_OVERVIEW.md- Arsitektur sistem
Rules Penting (Quick Reference):
โ DO:
- Gunakan konstanta dari
Config(hindari magic numbers) - Validasi semua data eksternal (API, localStorage, user input)
- Sanitasi input user sebelum digunakan
- Gunakan
Storagemodule, bukan directlocalStorage - Tambahkan JSDoc comments untuk fungsi public
- Handle errors dengan proper error messages
โ DON'T:
- Jangan gunakan
innerHTMLdengan dynamic data - Jangan simpan data sensitif ke localStorage
- Jangan skip validation, meskipun data dari trusted source
Manual Testing:
npm run dev
# Buka browser, test semua fiturSecurity Testing:
- Test XSS: Coba inject
<script>alert('XSS')</script>pada input - Test localStorage: Edit manual via DevTools, pastikan validation bekerja
- Test API: Simulasikan invalid responses
Roadmap: Unit tests dengan Jest, E2E tests dengan Playwright
Aplikasi menggunakan endpoints berikut dari Aladhan API:
# Waktu shalat berdasarkan kota
GET /v1/timingsByCity/{date}
?city={city}
&country={country}
&method={method}
# Waktu shalat berdasarkan koordinat GPS
GET /v1/timings/{date}
?latitude={lat}
&longitude={lon}
&method={method}
# Konversi tanggal: Gregorian โ Hijri
GET /v1/gToH/{date}
# Konversi tanggal: Hijri โ Gregorian
GET /v1/hToG/{date}
# Kalender bulanan
GET /v1/calendarByCity/{year}/{month}
?city={city}
&country={country}Parameter method (Metode Kalkulasi):
20= Kementerian Agama RI (Default)3= Muslim World League (MWL)2= Islamic Society of North America (ISNA)5= Egyptian General Authority4= Umm Al-Qura University1= University of Islamic Sciences, Karachi7= Institute of Geophysics, Tehran
Note: Aplikasi mengimplementasikan caching untuk mengurangi API calls dan meningkatkan performa.
- โ Kalender Hijriyah interaktif dengan progressive loading
- โ Tracker puasa dengan visualisasi chart dan statistik lengkap
- โ Real-time clock dengan timezone auto-detection
- โ Responsive menu untuk desktop dan mobile
- โ Lokalisasi 100% Bahasa Indonesia
- Browser Notifications - Notifikasi untuk mengingatkan jadwal shalat
- PWA Support - Progressive Web App untuk install di home screen
- Dark Mode - Tema gelap untuk kenyamanan mata
- Multi-language - Dukungan bahasa Inggris dan Arab
- Automated Tests - Unit tests, integration tests, E2E tests
๐ Lihat lebih lengkap: GitHub Issues
๐ Fitur-Fitur Utama yang Telah Diimplementasikan:
-
โฐ Jam Real-Time & Zona Waktu
- Jam digital (HH:MM:SS) yang update setiap detik
- Auto-detection zona waktu Indonesia (WIB/WITA/WIT)
- Countdown "Akan tiba dalam X menit" untuk shalat berikutnya
-
๐ Kalender Hijriyah Interaktif
- Grid kalender visual dengan highlight Ayyamul Bidh
- Progressive loading (load lokal dulu, kemudian upgrade dengan API)
- Integrasi dengan tracker puasa
- Jadwal 3 bulan ke depan
-
๐ Tracker Puasa Lengkap
- Checkbox interface yang simple
- Statistik bulanan, tahunan, dan streak
- Visual bar chart untuk progress
- History accordion dengan status lengkap
- Export/Import dengan validasi
-
๐ Jadwal Shalat Komprehensif
- 7 waktu shalat (Imsak, Subuh, Terbit, Dzuhur, Ashar, Maghrib, Isya)
- Tabel jadwal bulanan 30 hari
- Location-based dengan GPS atau manual
-
๐ฎ๐ฉ Lokalisasi Penuh
- 100% Bahasa Indonesia di seluruh UI
- Tidak ada lagi teks Inggris yang tersisa
-
๐ฑ Responsivitas
- Mobile-first design
- Hamburger menu yang mudah diakses
- Layout optimal untuk semua ukuran layar
-
๐ก๏ธ Keamanan
- XSS prevention dengan input sanitization
- Prototype pollution protection
- localStorage validation
- API response validation
๐ Bug Fixes:
- โ Parse error waktu shalat dengan format "04:32 (WIB)"
- โ
process.enverror diganti denganimport.meta.env - โ Footer credit updated ke "Gulajava Ministudio"
๐ Detail lengkap: Lihat plan/implementation-summary.md
- Browser Notifications - Notifikasi push untuk waktu shalat
- Dark Mode - Toggle tema gelap untuk kenyamanan mata
- Offline Mode Enhancement - Service Worker untuk pengalaman offline lebih baik
- Performance Optimization - Code splitting dan lazy loading
- PWA Full Support - Install ke home screen, fully offline-capable
- Multi-language - Interface dalam Bahasa Inggris dan Arab
- Social Sharing - Share progress puasa ke social media
- Reminders & Alerts - Customizable reminders untuk puasa
- Automated Testing - Unit tests, integration tests, E2E tests
- Mobile Apps - Native apps dengan React Native / Flutter
- Backend Sync - Optional cloud backup dan sync antar device
- Community Features - Leaderboard, challenges, dan group fasting tracker
- Widget Support - Desktop dan mobile widgets
๐ก Have ideas? Submit feature requests di GitHub Issues
Kami sangat menghargai kontribusi dari komunitas! Berikut cara berkontribusi:
- Fork repository ini
- Clone fork Anda ke lokal:
git clone https://github.com/YOUR_USERNAME/puasa-ayyamul-bidh.git
- Create branch untuk fitur Anda:
git checkout -b feature/FiturAmazingAnda
- Baca dokumentasi di
.agent/folder:CODING_STANDARDS.md- Panduan style codeSECURITY_GUIDELINES.md- Panduan keamanan
- Develop & Test - Kembangkan fitur dan test secara menyeluruh
- Commit dengan pesan yang jelas:
git commit -m "feat: menambahkan fitur amazing" - Push ke branch Anda:
git push origin feature/FiturAmazingAnda
- Open Pull Request dengan deskripsi lengkap
- Code mengikuti coding standards
- Security review passed (tidak ada vulnerability)
- Manual testing berhasil di berbagai browser
- Tidak ada
console.logatau debug code - Dokumentasi diupdate jika menambah fitur baru
- Commit messages jelas dan deskriptif
Types of Contributions:
- ๐ Bug fixes
- โจ New features
- ๐ Documentation improvements
- ๐จ UI/UX enhancements
- ๐ Security improvements
- โฟ Accessibility improvements
Aplikasi ini bersifat open source dan gratis untuk digunakan.
MIT License - Anda bebas untuk:
- โ Menggunakan untuk project pribadi atau komersial
- โ Memodifikasi sesuai kebutuhan
- โ Mendistribusikan ke orang lain
- โ Menggunakan sebagai bahan pembelajaran
Dengan syarat:
- ๐ Tetap cantumkan credit ke project original
- ๐ Sertakan copy dari MIT License
Dibuat dengan โค๏ธ untuk kepentingan umum umat Muslim di seluruh dunia.
- Aladhan API - Penyedia data waktu shalat dan konversi kalender Hijriyah
- Browser Geolocation API - Deteksi lokasi otomatis
- Bootstrap 5.3.8 - Framework CSS untuk responsive design
- Bootstrap Icons - Icon library
- Google Fonts - Web fonts (Inter untuk Latin, Amiri untuk Arabic)
- Vite - Lightning-fast development server
- http-server - Simple HTTP server
- Terser - JavaScript minifier
Development aplikasi ini dipercepat dengan bantuan AI assistants:
- Google Antigravity Editor ๐ - AI-powered IDE untuk workflow yang lebih produktif
- Google Gemini 3.0 Pro ๐ค - AI coding assistant untuk development dan refactoring
- Anthropic Claude 3.5 Sonnet ๐ - AI assistant untuk code review dan documentation
- Komunitas Muslim di seluruh dunia yang menjalankan puasa sunnah
- Sistem kalender Hijriyah (Komariyah) dan Masehi (Syamsiyah)
- Kebutuhan umat untuk tools yang memudahkan ibadah
Developed by: Gulajava Ministudio ๐จโ๐ป
Butuh bantuan atau ingin memberikan feedback? Hubungi kami melalui:
- ๐ Report Bugs: GitHub Issues
- ๐ฌ Diskusi & Ide: GitHub Discussions
- ๐ง Email: your.email@example.com
- ๐ฑ Website: puasa-ayyamul-bidh.vercel.app (if deployed)
| Metric | Value |
|---|---|
| Dibuat | 2025 |
| Terakhir Update | Desember 2025 |
| Versi | 1.0.0 |
| Security Score | 8.5/10 ๐ก๏ธ |
| Code Quality | 7.0/10 โญ |
| Bahasa UI | 100% Bahasa Indonesia ๐ฎ๐ฉ |
| Total Code | ~3,500+ baris |
| JavaScript Modules | 11 files |
| HTML Pages | 6 halaman |
| CSS Files | 2 files |
| Total File Size | ~90 KB (uncompressed) |
| Tip | Deskripsi |
|---|---|
| ๐พ Backup Rutin | Export data setiap bulan untuk keamanan |
| ๐ Update Lokasi | Perbarui jika pindah kota agar jadwal shalat akurat |
| ๐ Bookmark | Simpan ke bookmark browser untuk akses cepat |
| ๐ฑ Install PWA | (Coming soon) Install sebagai app untuk pengalaman native |
| โ Konsisten | Tandai puasa segera setelah selesai agar tidak lupa |
| Tip | Deskripsi |
|---|---|
| ๐ Baca Docs | Mulai dengan .agent/AI_AGENT_GUIDE.md |
| ๐ก๏ธ Security First | Validasi SEMUA data eksternal tanpa exception |
| โ๏ธ Use Constants | Gunakan Config, hindari magic numbers |
| ๐งช Test Manually | Jangan skip manual testing, esp. untuk security |
| ๐ JSDoc | Dokumentasikan public functions dengan JSDoc |
| ๐ Code Review | Review security guidelines sebelum commit |
Jika project ini bermanfaat untuk Anda, tolong berikan โญ Star di GitHub untuk mendukung pengembangan lebih lanjut!
Dibuat dengan โค๏ธ untuk Umat Muslim di Seluruh Dunia
Semoga aplikasi ini bermanfaat dan menjadi amal jariyah bagi kita semua! ๐คฒ
Barakallahu fiikum! โจ
Terakhir diupdate: Desember 2025 | Security Audit: November 2025 โ | UI: 100% Bahasa Indonesia ๐ฎ๐ฉ