https://github.com/0x61nas/alquran-cloud-api
A simple, fast and ergonomic java wrapper for alquran-cloud api
https://github.com/0x61nas/alquran-cloud-api
alquran-cloud-api hacktoberfest java quran-api quran-api-java quran-translation
Last synced: 7 months ago
JSON representation
A simple, fast and ergonomic java wrapper for alquran-cloud api
- Host: GitHub
- URL: https://github.com/0x61nas/alquran-cloud-api
- Owner: 0x61nas
- License: gpl-3.0
- Created: 2022-06-30T19:34:17.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-03-01T02:26:29.000Z (8 months ago)
- Last Synced: 2025-03-01T03:22:27.123Z (8 months ago)
- Topics: alquran-cloud-api, hacktoberfest, java, quran-api, quran-api-java, quran-translation
- Language: Java
- Homepage:
- Size: 3.57 MB
- Stars: 17
- Watchers: 1
- Forks: 3
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# A simple java wrapper library for [alquran-cloud api](https://alquran.cloud/api) 🤍
[](https://jitpack.io/#anas-elgarhy/alquran-cloud-api)
[](https://sonarcloud.io/summary/new_code?id=anas-elgarhy_alquran-cloud-api)
[](https://sonarcloud.io/summary/new_code?id=anas-elgarhy_alquran-cloud-api)
[](https://sonarcloud.io/summary/new_code?id=anas-elgarhy_alquran-cloud-api)
[](https://sonarcloud.io/summary/new_code?id=anas-elgarhy_alquran-cloud-api)
[](https://sonarcloud.io/summary/new_code?id=anas-elgarhy_alquran-cloud-api)
[](https://sonarcloud.io/summary/new_code?id=anas-elgarhy_alquran-cloud-api)
[](https://sonarcloud.io/summary/new_code?id=anas-elgarhy_alquran-cloud-api)
## It is still under development. 🚧
## How to add this library into your project
### Maven
**Step 1**. Add the JitPack repository to your build file
```xml
jitpack.io
https://jitpack.io
```
**Step 2**. Add the dependency
```xml
com.github.anas-elgarhy
alquran-cloud-api
0.4.4
```
#### Gradle:
**Step 1**. Add the JitPack repository to your build file
*Add it in your root build.gradle at the end of repositories:*
```gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
```
**Step 2**. Add the dependency
```gradle
dependencies {
implementation 'com.github.anas-elgarhy:alquran-cloud-api:0.4.4'
}
```
## Usage
```java
public class Example1 {
public static void main(String[] args) throws IOException {
Ayah ayah = Ayah.getAyah(1); // Get the first ayah in the quaran in arabic edition
System.out.println(ayah.getText());
System.out.println("***");
System.out.println("----- آية عشوائية -----");
Ayah randomAyah = Ayah.getRandomAyah(); // Get a random ayah in the quaran in arabic edition
Surah surah = randomAyah.getSurah(); // Get the surah of the random ayah
System.out.println(randomAyah.getText() + " - من " + surah.getName());
System.out.println("***");
Surah surah2 = Surah.getSurah(1); // Get the first surah in the quaran in arabic edition
System.out.println(surah2.getName());
System.out.println("الآيات: ");
for (Ayah a : surah2.getAyahs()) {
System.out.println(a.getText() + " (" + a.getNumberInSurah() + ")");
}
}
}
```

```java
public class Example2 {
public static void main(String[] args) throws IOException {
Edition[] editions = Edition.getEditions(); // Get all available editions
System.out.println("The number of available editions: " + editions.length);
System.out.println("Editions: ");
for (Edition edition : editions) {
System.out.println(edition.getName() + " (" + edition.getIdentifier() + ")" +
" - Edition type: " + edition.getFormat().toString());
}
}
}
```

```java
public class Example3 {
public static void main(String[] args) throws IOException {
// Get th all available editions in specific language
Edition[] editionsInEnglish = Edition.getEditions("en");
System.out.println("The number of available editions in English: " + editionsInEnglish.length);
// Get th all available editions in specific language and format (audio or text) and type (quran or translation, etc)
// null means all
Edition[] editionsInEnglishAudio = Edition.getEditions(EditionFormat.AUDIO, "en", null);
System.out.println("The number of available editions in English audio: " + editionsInEnglishAudio.length);
Ayah ayah = Edition.getAyah(1, editionsInEnglishAudio[0]); // Get the first ayah in the quaran in specific edition
// Becose the audio editions also have the text editions insiw, and usually the text editions are arabic.
System.out.println(ayah.getText());
System.out.println(ayah.getAudioUrl()); // Get the audio url of the ayah in 192 kbps.
// Get the audio urls in other bitrates, returns same url if no other bitrates.
System.out.println(Arrays.toString(ayah.getSecondaryAudioUrls()));
Edition edition = editionsInEnglish[0];
System.out.println(edition.getName());
System.out.println(edition.getType());
System.out.println(edition.getFormat());
Ayah ayahFromEdition = Ayah.getAyah(1, edition); // Get the first ayah in the quaran in specific edition
System.out.println(ayahFromEdition.getText());
// Get the first surah in the quaran in specific edition
Surah fistSurah = Surah.getSurah(1, edition);
System.out.println(fistSurah.getName());
// Or you can use the Surah enum to get the surah:
Surah s = Surah.getSurah(Surahs.AL_ALAQ);
System.out.println(s.getName());
}
}
```

## Requirements for development:
- Maven
- jdk 17
- IntelliJ IDEA (not required but recommended)
### Available in
[](https://github.com/anas-elgarhy/alquran-cloud-api)
[](https://gitlab.com/anas-elgarhy/alquran-cloud-api)
[](https://bitbucket.org/anas_elgarhy/alquran-cloud-api)
[](https://codeberg.org/anas-elgarhy/alquran-cloud-api)
[](https://sonarcloud.io/summary/new_code?id=anas-elgarhy_alquran-cloud-api)
[](https://sonarcloud.io/summary/new_code?id=anas-elgarhy_alquran-cloud-api)