πŸ•Œ Do'a dzikir - Tasbih Online & Dzikir Digital Gratis

Platform web modern untuk membantu umat Muslim dalam menjalankan ibadah sehari-hari dengan fitur tasbih online gratis, dzikir digital, dan jadwal sholat Indonesia yang akurat.

SEO Optimized Next.js TypeScript

🌟 Fitur Utama

1. Tasbih Online - Counter Dzikir Digital ✨

  • 🎯 Counter dzikir otomatis untuk Subhanallah, Alhamdulillah, Allahu Akbar
  • πŸ“Š Target dzikir yang bisa disesuaikan (33, 99, 100, 1000, custom)
  • πŸ“ Custom dzikir - tambahkan dzikir sendiri
  • πŸ“ˆ History dan tracking dzikir harian
  • πŸ”Š Sound feedback & vibration
  • πŸ’Ύ Auto-save progress di browser
  • πŸŒ™ Dark mode support

2. Jadwal Sholat Indonesia

  • πŸ“ Deteksi lokasi otomatis menggunakan geolokasi browser
  • πŸ—ΊοΈ Pencarian kota manual berdasarkan provinsi di Indonesia
  • ⏰ Waktu sholat akurat untuk seluruh Indonesia (Subuh, Dzuhur, Ashar, Maghrib, Isya)
  • πŸ“± Tampilan responsif untuk semua perangkat
  • πŸ”” Notifikasi waktu sholat

3. Pencarian Lokasi

  • πŸ” Pencarian real-time provinsi dan kota
  • 🎯 Sistem pencarian kota terdekat berdasarkan koordinat
  • πŸ“Š Data lengkap untuk seluruh provinsi dan kota di Indonesia

4. SEO Optimization πŸš€

  • βœ… Structured data (JSON-LD) untuk rich snippets
  • βœ… Meta tags lengkap untuk SEO
  • βœ… Open Graph & Twitter Cards
  • βœ… Sitemap.xml otomatis
  • βœ… Robots.txt optimization
  • βœ… PWA ready dengan manifest.json
  • βœ… Mobile-first & responsive design

🎯 Keywords yang Ditarget

Aplikasi ini dioptimasi untuk muncul di pencarian Google dengan keywords:

  • Tasbih online - Counter tasbih digital gratis
  • Dzikir online - Aplikasi dzikir digital
  • Jadwal sholat - Waktu sholat Indonesia hari ini
  • Counter tasbih - Tasbih digital otomatis
  • Aplikasi dzikir - Tools Muslim online

πŸ“Š SEO Features

  • πŸ” Schema Markup: Structured data untuk better search results
  • πŸ“± PWA: Progressive Web App dengan offline capability
  • ⚑ Fast Loading: Optimized dengan Next.js 16
  • 🎨 Rich Snippets: Enhanced search results
  • 🌐 Multi-language: Indonesian language optimization
  • πŸ“ˆ Analytics Ready: Google Analytics & Search Console compatible

πŸš€ Teknologi yang Digunakan

  • Framework: Next.js 16 - React framework untuk production
  • Language: TypeScript - Type-safe JavaScript
  • Styling: Tailwind CSS v4 - Utility-first CSS framework
  • Icons: Lucide React - Beautiful & consistent icons
  • Runtime: React 19 dengan Server Components

πŸ“‹ Prasyarat

Pastikan Anda telah menginstal:

  • Node.js versi 20.x atau lebih baru
  • npm atau yarn atau pnpm

πŸ› οΈ Instalasi

  1. Clone repository
git clone <repository-url>
cd do-Dzikir
  1. Install dependencies
npm install
# atau
yarn install
# atau
pnpm install
  1. Jalankan development server
npm run dev
# atau
yarn dev
# atau
pnpm dev
  1. Buka browser Akses http://localhost:3000 untuk melihat aplikasi.

πŸ“ Struktur Proyek

do-Dzikir/
β”œβ”€β”€ app/                          # Next.js App Router
β”‚   β”œβ”€β”€ api/                      # API Routes
β”‚   β”‚   β”œβ”€β”€ cities/              # Endpoint data kota
β”‚   β”‚   β”œβ”€β”€ prayer/              # Endpoint jadwal sholat
β”‚   β”‚   └── province/            # Endpoint data provinsi
β”‚   β”œβ”€β”€ jadwal-sholat/           # Halaman jadwal sholat
β”‚   β”‚   β”œβ”€β”€ page.tsx             # List provinsi & kota
β”‚   β”‚   └── [latitude]/          # Dynamic route berdasarkan koordinat
β”‚   β”‚       └── [longitude]/
β”‚   β”‚           └── page.tsx     # Detail jadwal sholat
β”‚   β”œβ”€β”€ tasbih/                  # Halaman tasbih (coming soon)
β”‚   β”œβ”€β”€ globals.css              # Global styles
β”‚   β”œβ”€β”€ layout.tsx               # Root layout
β”‚   └── page.tsx                 # Homepage
β”œβ”€β”€ components/                   # React Components
β”‚   β”œβ”€β”€ CTASection.tsx           # Call to Action section
β”‚   β”œβ”€β”€ FeatureCard.tsx          # Feature card component
β”‚   β”œβ”€β”€ Features.tsx             # Features section
β”‚   β”œβ”€β”€ Footer.tsx               # Footer component
β”‚   β”œβ”€β”€ Header.tsx               # Header/Navbar component
β”‚   β”œβ”€β”€ Hero.tsx                 # Hero section dengan jadwal sholat
β”‚   └── Sidebar.tsx              # Sidebar component
β”œβ”€β”€ contexts/                     # React Contexts
β”œβ”€β”€ public/                       # Static assets
β”œβ”€β”€ eslint.config.mjs            # ESLint configuration
β”œβ”€β”€ next.config.ts               # Next.js configuration
β”œβ”€β”€ postcss.config.mjs           # PostCSS configuration
β”œβ”€β”€ tailwind.config.ts           # Tailwind CSS configuration
└── tsconfig.json                # TypeScript configuration

🎯 API Endpoints

1. Get All Provinces

GET /api/province

Response: Array of provinces with cities

2. Get All Cities

GET /api/cities

Response: Array of all cities with coordinates

3. Get Prayer Times

GET /api/prayer?latitude={lat}&longitude={lng}

Parameters:

  • latitude: Latitude koordinat
  • longitude: Longitude koordinat

Response: Prayer times data for the location

πŸ”§ Scripts yang Tersedia

# Development mode
npm run dev

# Build untuk production
npm run build

# Menjalankan production build
npm run start

# Linting
npm run lint

🌐 Fitur Utama Halaman

Homepage (/)

  • Hero section dengan jadwal sholat otomatis berdasarkan lokasi
  • Features section menampilkan fitur-fitur utama
  • CTA (Call to Action) section

Jadwal Sholat (/jadwal-sholat)

  • List semua provinsi dan kota di Indonesia
  • Search functionality untuk mencari provinsi/kota
  • Link ke detail jadwal sholat per kota

Detail Jadwal Sholat (/jadwal-sholat/[latitude]/[longitude])

  • Jadwal sholat detail berdasarkan koordinat
  • Informasi nama kota dan provinsi
  • Waktu sholat lengkap (Imsak, Subuh, Terbit, Dhuha, Dzuhur, Ashar, Maghrib, Isya)

🎨 Fitur Teknis

Client-Side Features

  • βœ… Geolocation API untuk deteksi lokasi otomatis
  • βœ… Haversine formula untuk menghitung jarak terdekat
  • βœ… Real-time search dan filtering
  • βœ… Loading states dan error handling
  • βœ… Responsive design untuk semua ukuran layar

Performance

  • βœ… Server Components untuk optimal loading
  • βœ… Client Components hanya untuk interactive parts
  • βœ… Image optimization dengan Next.js Image
  • βœ… Code splitting otomatis

πŸ”’ Environment Variables

Saat ini aplikasi menggunakan API eksternal. Jika Anda perlu mengonfigurasi API endpoint, tambahkan di .env.local:

NEXT_PUBLIC_API_URL=your_api_url_here

πŸš€ Deployment

Vercel (Recommended)

  1. Push code ke GitHub
  2. Import project di Vercel
  3. Deploy otomatis akan berjalan

Manual Build

npm run build
npm run start

🀝 Kontribusi

Kontribusi sangat diterima! Silakan:

  1. Fork repository
  2. Buat branch fitur (git checkout -b feature/AmazingFeature)
  3. Commit perubahan (git commit -m 'Add some AmazingFeature')
  4. Push ke branch (git push origin feature/AmazingFeature)
  5. Buat Pull Request

πŸ“ License

Project ini dibuat untuk keperluan pembelajaran dan portfolio.

πŸ‘¨β€πŸ’» Author

Dibuat dengan ❀️ oleh Developer Muslim

πŸ“ž Support

Jika Anda memiliki pertanyaan atau masalah, silakan buat issue di repository ini.


Note: Proyek ini masih dalam tahap pengembangan aktif. Beberapa fitur mungkin belum sepenuhnya terimplementasi.

πŸ—“οΈ Roadmap

  • [x] Jadwal Sholat dengan geolokasi
  • [x] Pencarian kota dan provinsi
  • [ ] Tasbih Digital
  • [ ] Al-Quran Digital
  • [ ] Notifikasi waktu sholat
  • [ ] Arah kiblat
  • [ ] Doa-doa harian
  • [ ] Mode gelap/terang

πŸ™ Acknowledgments