A progressive web app that helps Muslims stay on track during Ramadan β monitor your prayers, duas, Quran recitation, and daily worship with insightful progress tracking throughout the blessed month.
- Live prayer times fetched from the Aladhan API using the MWL (Muslim World League) calculation method
- Auto-detects user location via Geolocation API (falls back to Mecca)
- Highlights the next upcoming prayer
- Track surahs and juz' you have read
- Visual progress bar for your Quran completion journey
- Log morning and evening adhkar completion
- Browse a curated dua collection
- Save and manage your personal duas
- Daily tracking table for fasting, prayers, Quran, charity, and more
- Worship statistics with visual charts
- Daily motivation quotes to keep you inspired
- Integrated Hijri calendar with RTL support
- Ramadan day counter
- Earn badges for consistent worship and milestones
- Set and track personal Ramadan goals
- Daily journal for reflections and memories
- Full support for Arabic (RTL), English, and French
- Language switcher built into the UI
- Installable on mobile and desktop as a Progressive Web App
- Offline-capable with service worker caching
- Bun v1.0+ runtime installed
-
Clone the repository:
git clone https://github.com/Abdelkaderbzz/ramadan-tracker.git
-
Navigate to the project folder:
cd ramadan-tracker -
Install dependencies:
bun install
-
Start the development server:
bun run dev
-
Open http://localhost:3000 in your browser.
| Category | Technology |
|---|---|
| Framework | Next.js 14 (App Router) |
| Runtime | Bun |
| Language | TypeScript |
| Styling | Tailwind CSS |
| UI Components | Radix UI + shadcn/ui |
| State | Zustand |
| Animations | Framer Motion |
| i18n | next-intl |
| Forms | React Hook Form + Zod |
| Charts | Recharts |
| Theming | next-themes |
| PWA | @ducanh2912/next-pwa |
| Prayer Times | Aladhan API (MWL method) |
ramadan-tracker/
βββ app/
β βββ [locale]/ # Locale-based routing (en, fr, ar)
β βββ layout.tsx
β βββ page.tsx
βββ components/
β βββ features/
β β βββ achievements/ # Badge system
β β βββ calendar/ # Islamic/Hijri calendar
β β βββ dashboard/ # Stats, daily tracking table
β β βββ journey/ # Goals, journal, motivation
β β βββ prayer/ # Prayer times, duas, dhikr
β β βββ quran/ # Quran surah/juz tracker
β βββ layout/ # Header, main layout
β βββ ui/ # shadcn/ui primitives
βββ hooks/ # Custom React hooks
βββ i18n/ # next-intl configuration
βββ lib/
β βββ constants/ # Duas, motivations
β βββ store/ # Zustand store & types
β βββ date-utils.ts # Hijri date helpers
β βββ quran-data.ts # Surah & Juz metadata
βββ messages/ # Translation files (en, fr, ar)
βββ public/ # Static assets, PWA manifest
βββ styles/ # Global CSS
| Command | Description |
|---|---|
bun run dev |
Start the development server |
bun run build |
Build for production |
bun run start |
Start the production server |
bun run lint |
Run ESLint |
bun run type-check |
Run TypeScript type checking |
Contributions are welcome! Please read our Contributing Guide for details on the development workflow and how to submit pull requests.
This project is licensed under the MIT License β see the LICENSE file for details.
abdelkaderbzz
- GitHub: @Abdelkaderbzz
If you find this project useful and want to support its development, you can buy me a coffee!
Give a β if this project helped you during Ramadan!
