https://github.com/haikelz/asmaul-husna-api
☪️ asmaul-husna-api is an API to get the list of Asma'ul Husna
https://github.com/haikelz/asmaul-husna-api
asmaul-husna graphql honojs rest-api typescript
Last synced: 28 days ago
JSON representation
☪️ asmaul-husna-api is an API to get the list of Asma'ul Husna
- Host: GitHub
- URL: https://github.com/haikelz/asmaul-husna-api
- Owner: haikelz
- Created: 2023-07-24T06:15:09.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-23T16:20:12.000Z (7 months ago)
- Last Synced: 2024-10-04T22:11:07.182Z (7 months ago)
- Topics: asmaul-husna, graphql, honojs, rest-api, typescript
- Language: TypeScript
- Homepage: https://asmaul-husna-api.vercel.app
- Size: 768 KB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
asmaul-husna-api
asmaul-husna-api is an API to get the list of Asma'ul Husna
## Endpoints
| Endpoint | Method | Description |
| ------------------- | ------ | ------------------------------------------ |
| `/` | GET | Get info about the API |
| `/api/all` | GET | Get all Asma'ul Husna |
| `/api/:urutan` | GET | Get spesific Asma'ul Husna based on urutan |
| `/api/latin/:latin` | GET | Get spesific Asma'ul Husna based on latin |## Response Example
**Get all Asma'ul Husna**
Request:
```ts
fetch("https://asmaul-husna-api.vercel.app/api/all")
.then((res) => res.json())
.then((result) => console.log(result));
```Response:
```json
{
"statusCode": 200,
"total": 99,
"data": [
{
"urutan": 1,
"latin": "Ar Rahman",
"arab": "الرحمن",
"arti": "Yang Maha Pengasih"
},
{
"urutan": 2,
"latin": "Ar Rahiim",
"arab": "الرحيم",
"arti": "Yang Maha Penyayang"
},
{
"urutan": 3,
"latin": "Al Malik",
"arab": "الملك",
"arti": "Yang Maha Merajai / Memerintah"
},
....
]
}
```With `page` and `limit`
```ts
// REST
fetch("https://asmaul-husna-api.vercel.app/api/all?page=2&limit=20")
.then((res) => res.json())
.then((result) => console.log(result));
```**Note:** The `page` and `limit` query are optional. But if you want to use the `page` query, you must use the `limit` query as well.
Response:
```json
{
"statusCode": 200,
"total": 20,
"data": [
{
"urutan": 21,
"latin": "Al Baasith",
"arab": "الباسط",
"arti": "Yang Maha Melapangkan(makhluknya)"
},
{
"urutan": 22,
"latin": "Al Khaafidh",
"arab": "الخافض",
"arti": "Yang Maha Merendahkan(makhluknya)"
},
{
"urutan": 23,
"latin": "Ar Raafi '",
"arab": "الرافع",
"arti": "Yang Maha Meninggikan(makhluknya)"
},
...
]
}
```**Get spesific Asma'ul Husna based on urutan**
Request:
```ts
fetch("https://asmaul-husna-api.vercel.app/api/1")
.then((res) => res.json())
.then((result) => console.log(result));
```Response:
```json
{
"statusCode": 200,
"total": 1,
"data": {
"urutan": 1,
"latin": "Ar Rahman",
"arab": "الرحمن",
"arti": "Yang Maha Pengasih"
}
}
```**Get spesific Asma'ul Husna based on latin**
Note: the latin can be lowercase or uppercase.
Request:
```ts
fetch("https://asmaul-husna-api.vercel.app/api/latin/ar-rahman")
.then((res) => res.json())
.then((result) => console.log(result));
```Response:
```json
{
"statusCode": 200,
"total": 1,
"data": {
"urutan": 1,
"latin": "Ar Rahman",
"arab": "الرحمن",
"arti": "Yang Maha Pengasih"
}
}
```## Tech Stack
- Go
- Fiber
- Swagger for API Documentation
- Prometheus and Grafana for API monitoring## Getting Started
- First, clone this repo.
- Make sure that you've already installed `air` for live reloading. Type `air` to run the project locally. If you are a Windows user, you must change some configurations in `air.toml` file, more spesific in `cmd` and `bin` parts.## Credits
- [Muhammad Rivki](https://github.com/mikqi) for the original Asma'ul Husna json.