A simple, client-side web app for Ramadan that shows daily prayer times and sunset (Iftar) time for your location or selected country/city. It uses the Adhan library for precise calculations and Moment.js for locale and Hijri date support. No backend required.
- Daily prayer times (Fajr, Dhuhr, Asr, Maghrib, Isha)
- Iftar time (sunset) based on selected calculation method
- Multiple calculation methods and madhabs
- Locale + Hijri date display
- Lightweight, static site — deploy anywhere
You can open the app directly or serve it locally for best results (recommended for geolocation and CORS behavior).
- Double-click
index.htmlto open in your browser.
Requirements: Node.js 18+
# From the project root
npm run start
# Then open http://localhost:5500This repo includes Firebase Hosting configuration.
# One-time: initialize hosting (choose 'dist' or root as needed)
npm run firebase:init
# Run locally with the Hosting emulator
npm run firebase:serve
# Deploy to Firebase Hosting
npm run deployassets/
css/styles.css # App styles
imgs/ # Images and flags
libs/ # Adhan + Moment libraries
README.md # Docs for vendor libraries
data/
countries.json # Country and city metadata
calc-methods.json # Calculation method presets
src/
README.md # Docs for app source files
app.js # App bootstrap and UI logic
prayer-times.js # Prayer/Iftar time calculations and formatting
vendor-loader.js # Loader for external libs
adhan-loader-esm.js # Adhan ESM loader
index.html # Main page
firebase.json # Firebase Hosting config
package.json # Scripts for local serve + deploy
- Countries and cities: edit
data/countries.json - Calculation methods: edit
data/calc-methods.json
- Adhan for prayer time calculations
- Moment.js + moment-hijri for dates and locales
- Vanilla JavaScript, HTML, and CSS
- Issues and pull requests are welcome.
- Keep changes focused and consistent with the existing code style.
This project’s license is not specified in this repository. Please open an issue if you need clarity.