meypod / al-azan

Privacy focused ad-free open-source muslim Adhan (islamic prayer times) and qibla app
https://meypod.github.io/al-azan/
GNU Affero General Public License v3.0
164 stars 23 forks source link
adhan athan azan islam islamic islamic-app islamic-apps islamic-prayer-times islamic-prayer-times-clock muslim muslim-app prayer prayer-times religion religious salah salat

Al-Azan

an open-source Adhan (أذان) - prayer times application built using react-native.

<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80"> <img src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" alt='Get it on Google Play' height="80"> <img src="https://raw.githubusercontent.com/meypod/al-azan/main/fastlane/get-it-on-github.png" alt='Get it on GitHub' height="80">

Apks released on GitHub are per CPU architecture, if you don't know which one to download, simply download the file that has "universal" in It's name.

Features

Screenshots

How to run this project

Requirements:

  1. Clone the project:
# clone with submodules
git clone --recurse-submodules git@github.com:meypod/al-azan.git

# OR if you have already cloned the repo without `--recurse-submodules`, update git submodule:
cd al-azan && git submodule update --init --recursive
  1. install packages:
yarn install
  1. Prepare language settings by renaming lingui.config.js.example to lingui.config.js.

  2. Compile the languages:

# need to do only once, or when you sync the translations
yarn lingui compile

for development:

# 1. run the packager
yarn start

# 2. build the debug version and launch emulator
yarn android

for creating a release build locally to debug:

# start the build
yarn android --variant=release
# OR run:
cd android && ./gradlew :app:assembleRelease

to uninstall app while keeping data:

adb shell cmd package uninstall -k com.github.meypod.al_azan

Translations

All translations are synced with translation.io with source code as single source of translation keys. It is only compiled during CI build for releases. Syncing is done manually when lingui.config.js file is configured and yarn sync_and_purge command is run.

Contributing your language

Please follow instructions commented here.

Translators

Translation to other languages has been done by these awesome people:

Turkish

Indonesian

French

Urdu

Hindi

German

Bosnian

Vietnamese

Arabic

Bangla

Kiswahili

Thanks to

All of people who have helped this project grow.

Adhan-js for providing the prayer times library.

React-native community members.

Translation.io (Lingui.js) for providing free translation services for open source projects.

Geonames.org for providing data for geocoding.

Openstreetmap.org and Libremap for providing the map.

Google Material Icons for the icons.

and many other library maintainers that I can't list them all.

Donate

Donations are appreciated. But I can only accept in crypto, here are my wallet addresses:

Bitcoin: bc1q2y6fng33tzhc8qefsy2pht057q2rmfx09qyx6v

Ethereum: 0x1a1407f549cb52658a3ed6Eac9C5e850dED4DB2b

Solana: CBK8ySxbVWrCkb1CQYoR1jYa4hEiMgpnVfJjGLCfBSJ1

Litecoin: Lbgz2X6TG9ANLGamNpdmhyoMc4q4wBHaVQ

Tron: THjtLAdihH57mbeaVmBfx3wAAXkpxAnqmJ

Bitcoin cash: qqgjknfejs4zf4udsalsej2qkwt5es5ym5fwusgvx3