Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ahmedbhameed/dararkam-services
COVID situation controlling of Friday praying by check in/out and check for space reservation.
https://github.com/ahmedbhameed/dararkam-services
Last synced: 10 days ago
JSON representation
COVID situation controlling of Friday praying by check in/out and check for space reservation.
- Host: GitHub
- URL: https://github.com/ahmedbhameed/dararkam-services
- Owner: AhmedBHameed
- Created: 2020-05-31T18:04:46.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T07:50:16.000Z (almost 2 years ago)
- Last Synced: 2024-10-12T02:10:48.275Z (26 days ago)
- Language: TypeScript
- Size: 964 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DARARKAM-SERVICES
COVID situation controlling of Friday praying by check in/out and check for space reservation.
# INSTALLATION
- First install `docker & docker-composer`.
- Run `sudo docker-compose -f docker-compose.yml up` to install docker image and all dependencies.
- Use `sudo docker-compose down` to shutdown the system.
- Run `./show-containers-ips.sh` to see what is `nginx` container ip.
- Nginx will listen to the port `9000`.All services required to be run under container in order to bind with other services and database.
# Documentation
> GET /api/all-prayers
```json
{
"data": [
{
"name": {"first": "Ahmed", "last": "HAMEED"},
"phone": "07702636251",
"token": "123",
"createdAt": "2020-06-01T20:56:01.211Z",
"updatedAt": "2020-06-01T21:19:56.015Z",
"reservePrayingTime": "13:30",
"id": "5ed56b619a02b38e6a23c5fd"
},
{
"name": {"first": "Ahmed", "last": "HAMEED"},
"reservePrayingTime": "11:30",
"phone": "0770",
"token": "01E9S32CVHB456DGM7492P9M32.01E9S32CVH0NE9TMTWKJWPNV9P.01E9S32CVJ2NC5ETVMS18EY3M4",
"createdAt": "2020-06-01T23:22:40.827Z",
"updatedAt": "2020-06-01T23:31:23.589Z",
"id": "5ed58dc0f2d6c4b1fbd2fcb0"
}
]
}
```> GET api/friday-praying
**Return:**
```json
{
"data": {
"settings": {
"nextFridayData": "2020-06-05", // Calculated automatically till Friday 2 pm. After that a new date calculated.
"firstPraying": {
"time": "11:30", // HH:mm
"personSpaceLeft": 59 // This number decrement with each record on next fetch.
},
"secondPraying": {
"time": "13:30", // HH:mm
"personSpaceLeft": 59
}
},
"prayer": {
"token": "01E9S1Y0PBHN7YNJ3B2A61D314.01E9S1Y0PBYPWVPVFNBG7XEZGD.01E9S1Y0PBNGY3K69WAFF3JCYK", // unique token.
"name": {
"first": "",
"last": ""
},
"phoneNumber": ""
}
}
}
```> POST api/friday-praying
> This end-point used when the user wants to check how many places left. Note that the user must already exists in the database to get information.**Payload:**
```json
{
"token": "01E9S03J6YHSEK94HM354XV1AH.01E9S03J6Y61YMNDGGAWPNXV0Y.01E9S03J6YE45R1TVV7TMHVTHW" // REQUIRED
}
```**Return:**
```json
{
"data": {
"settings": {
"nextFridayData": "2020-06-05",
"firstPraying": {
"time": "11:30", // HH:mm
"personSpaceLeft": 59
},
"secondPraying": {
"time": "13:30", // HH:mm
"personSpaceLeft": 59
}
},
"prayer": {
"name": {
"first": "Ahmed",
"last": "HAMEED"
},
"reservePrayingTime": "11:30",
"phone": "07702636251",
"token": "01E9S03J6YHSEK94HM354XV1AH.01E9S03J6Y61YMNDGGAWPNXV0Y.01E9S03J6YE45R1TVV7TMHVTHW",
"createdAt": "2020-06-01T22:32:53.019Z",
"updatedAt": "2020-06-01T22:36:09.855Z",
"id": "5ed58215adb9a7aa9d49f693"
}
}
}
```**Error**
```json
{
"data": null,
"errors": [
{
"code": "InvalidReceivedData",
"error": "\"token\" is not allowed to be empty"
}
]
}
```> POST api/create-prayer
**Payload:**
```json
{
"phone": "07702636262", // string REQUIRED
"firstName": "Ahmed", // string REQUIRED
"lastName": "HAMEED", // string REQUIRED
"reservePrayingTime": "11:30", // enum ['11:30', '13:30'] REQUIRED
"token": "01E9S32CVHB456DGM7492P9M32.01E9S32CVH0NE9TMTWKJWPNV9P.01E9S32CVJ2NC5ETVMS18EY3M4" // Incoming token. REQUIRED
}
```**Return**
```json
{
"data": {
"name": {
"last": "HAMEED",
"first": "Ahmed"
},
"reservePrayingTime": "11:30",
"phone": "07702636262",
"token": "01E9S32CVHB456DGM7492P9M32.01E9S32CVH0NE9TMTWKJWPNV9P.01E9S32CVJ2NC5ETVMS18EY3M4",
"createdAt": "2020-06-01T23:22:40.827Z",
"updatedAt": "2020-06-01T23:22:40.835Z",
"id": "5ed58dc0f2d6c4b1fbd2fcb0"
}
}
```> POST api/update-prayer
**Payload:**
```json
{
"firstName": "Wasim",
"lastName": "Almadfaa",
"phone": "123456789",
"token": "01E9S3YJD4MAFGK1D4RVD5ZNR0.01E9S3YJD49TQ8208HENJYDKCK.01E9S3YJD5KCNK6TMG71QN53RZ",
"reservePrayingTime": "11:30" // or '' in case of inactive prayer. Taking enum type of ['', '11:30', '13:30']
}
```**Return**
```json
{
"data": {
"name": {
"first": "Wasim",
"last": "Almadfaa"
},
"reservePrayingTime": "11:30", // or '' in case of inactive prayer
"phone": "123456789",
"createdAt": "2020-06-01T23:37:43.036Z",
"updatedAt": "2020-06-01T23:38:39.994Z",
"id": "5ed59147572dd2b6c39f690f"
}
}
```> DELETE api/delete-prayer/:token => Example api/delete-prayer/01E9S03J6YHSEK94HM354XV1AH.01E9S03J6Y61YMNDGGAWPNXV0Y.01E9S03J6YE45R1TVV7TMHVTHW
**Return**
```json
{
"data": {
"message": "Record has been deleted successfully."
}
}
```if double click on the same id then error will triggered
**Error**
```json
{
"data": null,
"errors": [
{
"code": "InvalidDeleteTokenOrNotFound",
"message": "Invalid delete token or not found record!"
}
]
}
```