Skip to content

ummeco/praycalc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

444 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PrayCalc

Accurate prayer times for Muslims, every device, every method, free forever.

License: MIT Build Version

Live: praycalc.com | Docs: praycalc.org

Billing status (2026-07): Stripe is not yet provisioned for this account. /upgrade shows a "launching soon" state instead of checkout — no live charges. Accounts, sign-in, and the free calculator work today on every surface. See Changelog.

Engineering Charter — Required Reading

Before contributing, read .github/wiki/ENGINEERING-CHARTER.md. It is the single source of truth for code standards across every Ummeco repo. The most-read sections:

What is this

PrayCalc is a free, GPS-accurate Islamic prayer time calculator for web and mobile. It supports all major calculation methods (ISNA, MWL, Egypt, Umm al-Qura, Tehran, Karachi), Qibla direction, adhan reminders, and offline mode. It also powers prayer times across the Ummat app ecosystem.

Features

  • All major calculation methods (ISNA, MWL, Egypt, Umm al-Qura, Tehran, Karachi)
  • GPS-based location with city search
  • Qibla compass direction
  • Adhan audio notifications with multiple reciters
  • Monthly/yearly prayer calendars with PDF export
  • PWA with full offline support (service worker + IndexedDB caching)
  • 8 languages (EN, AR, TR, UR, ID, FR, BN, SO) with RTL
  • Countdown to next prayer
  • Dark mode (WCAG 2.2 AA, system-preference-aware)
  • Accessible (WCAG 2.2 AA — axe audited, Playwright viewport matrix)
  • Ummat account sign-in on web, mobile, and desktop — one login across the ecosystem
  • Ummat+ ($9.99/yr): unlocks the TV app and Smart Home integrations (Google Home, Alexa)
  • Desktop menu bar / tray app for macOS, Windows, Linux with live countdown

Tech Stack

Layer Tech
Web Astro, TypeScript, Tailwind CSS
Mobile (Active) React Native + Expo SDK 53 (iOS + Android) + react-native-tvos (TV platforms)
Mobile (Archive) Flutter 1.2.3 — archived branch (D-P2-PRAYCALC-RN)
Desktop Tauri 2 + Vite + React 19 (macOS, Windows, Linux)
Backend platform nSelf (100% — self-hosted PaaS on Hetzner)
API Hasura GraphQL Engine (all data access via GraphQL, no direct SQL)
Auth Hasura Auth — shared SSO at auth.ummat.dev
Docs site Astro + MDX
i18n next-intl (8 locales)
PWA Serwist (service worker, offline caching)
Testing Vitest (unit), Playwright (E2E, 3-viewport matrix)
Deploy Vercel (projects: ummat-praycalc, ummat-praycalc-org)

Project Structure

praycalc/
├── web/        praycalc.com — Astro web app
├── org/        praycalc.org — documentation site
├── desktop/    menu bar / tray app — Tauri 2 + Vite + React 19 (macOS, Windows, Linux)
└── flutter/    iOS + Android + macOS + Windows + Linux + TV + Watch + Smart Display

Quick Start

Start the shared Ummat backend first:

cd ~/Sites/ummeco/ummat/backend && nself start

Web app:

cd web
cp .env.example .env.local   # fill in local Hasura + auth URLs
pnpm install
pnpm dev        # https://www.praycalc.local.nself.org:8543

Docs site:

cd org
pnpm install
pnpm dev        # http://localhost:3003

Desktop app:

cd desktop
pnpm install
pnpm tauri dev

Flutter app:

cd flutter
flutter pub get
flutter run

Desktop Downloads

Latest release: desktop-v1.1.1

Platform Installers
macOS (arm64) .dmg, .app.tar.gz
Windows (x64) .msi, .exe
Linux (x64) .deb, .AppImage, .rpm

Backend

All data access goes through Hasura GraphQL. Never use direct SQL or install pg / drizzle-orm at runtime. See .github/docs/settings-architecture.md for the GraphQL client pattern and env var reference.

Local API: https://api.praycalc.local.nself.org:8543/v1/graphql (port 8543) Production API: https://api.praycalc.com/v1/graphql

Documentation

Contribute

See .github/wiki/Contributing.md for architecture docs, contribution guidelines, and feature status.

License

MIT

About

GPS-accurate Islamic prayer time calculator

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors