Commit 6429734e by mzbudi

Init : Dokumentasi Pekerjaan

0 parents
#### Grant Management Back End
Grant Management adalah web app untuk pengolahan dan pendaftaran sekaligus sebagai sistem informasi Hibah di Universitas Indonesia.
---
#### Teknologi
1. Java Spring Boot
2. Java
---
#### Dokumentasi
-----
1. **Instalasi**
Untuk installasi berberapa hal yang harus dilakukan yaitu:
* Clone code pada [url](http://MzBudi@gitlab.ui.ac.id/ade.badr/UI-Grant-Backend.git) `http://MzBudi@gitlab.ui.ac.id/ade.badr/UI-Grant-Backend.git`
* install package ojdbc8 [disini]([How to add Oracle JDBC driver in your Maven local repository - Mkyong.com](https://mkyong.com/maven/how-to-add-oracle-jdbc-driver-in-your-maven-local-repository/))
* Ambil file pom.xml di bracnh excel modification
* Build dengan command dibawah dan jalankan sesuai dengan file environment yang diinginkan `active=dev` ganti menjadi prod untuk production
2. **Modification**
- Modifikasi yang telah dilakukan adalah Jar yang berjalan. jar yang berjalan saat ini adalah `grant 1.0.1(10062021).jar` atau `grant 1.0.1(tanggal_paling_baru).jar` dan terletak di `usr/grantv2/` Untuk melakukan pengubahan dapat melakukan upload dan run dengan command dibawah.
- Perubahan yang dilakukan adalah return dari export file pengusul. ditambahkan informasi rekening `src\main\java\id\ac\ui\grant\service\ProposerService.java` lebih lengkapnya ada di branch `excel-modification`
3. **Deployment**
Deployment pada backend ini dilakukan pada VM yang telah disediakan, credentialnya adalah:
| **Key** | **Value** |
| ----------------- | ------------------------------------------------------------ |
| `ip` | `10.6.4.40:22` |
| `username` | `salman` |
| `password` | `bismillah2020` |
| `gitlab.ui.ac.id` | `http://MzBudi@gitlab.ui.ac.id/ade.badr/UI-Grant-Backend.git` |
Lokasi file jar ada pada `/usr/grantv2` untuk melakukan perubahan dapat dilakukan pull dari gitlab diatas. Untuk menjalankan atau memberhentikan backend command list nya adalah sebagai berikut:
| **Command Name** | **Command** |
| -------------------------- | ------------------------------------------------------------ |
| Build jar using maven | `mvn -Dmaven.test.skip=true install` |
| Run jar in dev | `java -Dspring.profiles.active=dev -jar target/nama_jar.jar` | Tambahkan `&` untuk running in background |
| Run jar using maven in dev | `mvn spring-boot:run -Dspring-boot.run.profiles=dev` |
| Run jar in specific port | `java -Dserver.port=83 -jar nama_jar.jar` |
Disarankan untuk memberikan notifikasi kepada user apabila ingin melakukan pembaharuan, karena selama masa penggantian jar , website tidak dapat diakses
\ No newline at end of file
This file is too large to display.
#### Grant Management Front End
Grant Management adalah web app untuk pengolahan dan pendaftaran sekaligus sebagai sistem informasi Hibah di Universitas Indonesia.
---
#### Teknologi
1. Vue Js
2. Npm
3. NodeJs
4. TypeScript
5. JavaScript
---
#### Dokumentasi
-----
1. **Instalasi**
Untuk installasi berberapa hal yang harus dilakukan yaitu:
* Clone codebase Front End Grant pada [url](http://MzBudi@gitlab.ui.ac.id/ade.badr/UI-Dashboard-Frontend.git) `http://MzBudi@gitlab.ui.ac.id/ade.badr/UI-Dashboard-Frontend.git`
* masuk ke folder dengan cmd dan lakukan instalasi package dengan perintah `npm install`
* untuk menjalankan secara local, pindah branch ke development-local-api `git checkout development-local-api` dan pull dengan `git pull origin development-local-api`. untuk menjalankan secara production tetap di branch master
* Setelah semua beres jalankan perintah `npm run dev` dan app akan berjalan di browser
2. **Modification**
- Modifikasi yang telah dilakukan adalah melakukan hide input data form email alternatif pada aplikasi yang terletak pada `src/components/modules/elements/preview/proposal/IdentitasPengusulPreview.vue` dan juga `src/components/modules/pengusul/hibahSaya/form/identitasPengusul/elements/IdentitasPengusul.vue`
Untuk melakukan pengubahan ke semula dapat dihilangkan saja tag komentarnya `<!--` & `-->`
- Perubahan endpoint dapat dilakukan di `src/endpoint.js`
-
3. **Deployment**
Deployment pada backend ini dilakukan pada VM yang telah disediakan, credentialnya adalah:
| **Key** | **Value** |
| ----------------- | ------------------------------------------------------------ |
| `ip` | `152.118.24.92:22` |
| `username` | `salman` |
| `password` | `bismillah2020` |
| `gitlab.ui.ac.id` | `http://MzBudi@gitlab.ui.ac.id/ade.badr/UI-Dashboard-Frontend.git` |
Lokasi file front end ada pada `/var/www/ui-rima-frontend` untuk melakukan perubahan dapat dilakukan pull dari gitlab diatas. FE nya menggunakan docker dan git dan sudah ada file run.sh. Untuk update FE tinggal
1. Push updatenya ke git
2. jalankan sudo sh run.sh
| **Command Name** | **Command** |
| --------------------- | ---------------- |
| Menjalankan App Grant | `sudo sh run.sh` |
Disarankan untuk melakukan notifikasi apabila ingin melakukan pembaharuan, karena selama masa run.sh , website tidak dapat diakses
\ No newline at end of file
{
"info": {
"_postman_id": "a0126937-ef41-41b7-9c8f-6ffb97604b0f",
"name": "SIAK SERVICES",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Node",
"item": [
{
"name": "Schedule|Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.6.4.48:3005/schedule/class/:npm?kd_org=08.00.12.01",
"protocol": "http",
"host": [
"10",
"6",
"4",
"48"
],
"port": "3005",
"path": [
"schedule",
"class",
":npm"
],
"query": [
{
"key": "kd_org",
"value": "08.00.12.01"
},
{
"key": "refresh",
"value": "true",
"disabled": true
}
],
"variable": [
{
"key": "npm",
"value": "1706106734"
}
]
}
},
"response": []
},
{
"name": "Exam|Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.6.4.48:3005/schedule/exam?npm=1806195500",
"protocol": "http",
"host": [
"10",
"6",
"4",
"48"
],
"port": "3005",
"path": [
"schedule",
"exam"
],
"query": [
{
"key": "npm",
"value": "1806195500"
},
{
"key": "refresh",
"value": "true",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Progress History | Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.6.4.48:3005/progress?npm=1806195500&kd_org=02.02.03.01",
"protocol": "http",
"host": [
"10",
"6",
"4",
"48"
],
"port": "3005",
"path": [
"progress"
],
"query": [
{
"key": "npm",
"value": "1806195500"
},
{
"key": "kd_org",
"value": "02.02.03.01"
},
{
"key": "refresh",
"value": "true",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Progress List | Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.6.4.48:3005/progress/progresslist?npm=1806195500&tahun=2018&term=1",
"protocol": "http",
"host": [
"10",
"6",
"4",
"48"
],
"port": "3005",
"path": [
"progress",
"progresslist"
],
"query": [
{
"key": "npm",
"value": "1806195500"
},
{
"key": "tahun",
"value": "2018"
},
{
"key": "term",
"value": "1"
},
{
"key": "refresh",
"value": "true",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "MhsProfile | Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.6.4.48:3005/mhsprofile/V2?npm=1706106734&kd_org=08.00.12.01",
"protocol": "http",
"host": [
"10",
"6",
"4",
"48"
],
"port": "3005",
"path": [
"mhsprofile",
"V2"
],
"query": [
{
"key": "npm",
"value": "1706106734"
},
{
"key": "kd_org",
"value": "08.00.12.01"
},
{
"key": "refresh",
"value": "false",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "MhsLogin | Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://esb.ui.ac.id:8280/mhslogin/aaron",
"protocol": "http",
"host": [
"esb",
"ui",
"ac",
"id"
],
"port": "8280",
"path": [
"mhslogin",
"aaron"
]
}
},
"response": []
},
{
"name": "News | Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.6.4.48:3005/news?kd_org=02.02.03.01",
"protocol": "http",
"host": [
"10",
"6",
"4",
"48"
],
"port": "3005",
"path": [
"news"
],
"query": [
{
"key": "kd_org",
"value": "02.02.03.01"
}
]
}
},
"response": []
}
]
},
{
"name": "Node Copy",
"item": [
{
"name": "Schedule|Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.6.4.48:3005/schedule/class/:npm?kd_org=08.00.12.01",
"protocol": "http",
"host": [
"10",
"6",
"4",
"48"
],
"port": "3005",
"path": [
"schedule",
"class",
":npm"
],
"query": [
{
"key": "kd_org",
"value": "08.00.12.01"
},
{
"key": "refresh",
"value": "true",
"disabled": true
}
],
"variable": [
{
"key": "npm",
"value": "1706106734"
}
]
}
},
"response": []
},
{
"name": "Exam|Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.6.4.48:3005/schedule/exam?npm=1806195500",
"protocol": "http",
"host": [
"10",
"6",
"4",
"48"
],
"port": "3005",
"path": [
"schedule",
"exam"
],
"query": [
{
"key": "npm",
"value": "1806195500"
},
{
"key": "refresh",
"value": "true",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Progress History | Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.6.4.48:3005/progress?npm=1806195500&kd_org=02.02.03.01",
"protocol": "http",
"host": [
"10",
"6",
"4",
"48"
],
"port": "3005",
"path": [
"progress"
],
"query": [
{
"key": "npm",
"value": "1806195500"
},
{
"key": "kd_org",
"value": "02.02.03.01"
},
{
"key": "refresh",
"value": "true",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Progress List | Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.6.4.48:3005/progress/progresslist?npm=1806195500&tahun=2018&term=1",
"protocol": "http",
"host": [
"10",
"6",
"4",
"48"
],
"port": "3005",
"path": [
"progress",
"progresslist"
],
"query": [
{
"key": "npm",
"value": "1806195500"
},
{
"key": "tahun",
"value": "2018"
},
{
"key": "term",
"value": "1"
},
{
"key": "refresh",
"value": "true",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "MhsProfile | Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.6.4.48:3005/mhsprofile/V2?npm=1706106734&kd_org=08.00.12.01",
"protocol": "http",
"host": [
"10",
"6",
"4",
"48"
],
"port": "3005",
"path": [
"mhsprofile",
"V2"
],
"query": [
{
"key": "npm",
"value": "1706106734"
},
{
"key": "kd_org",
"value": "08.00.12.01"
},
{
"key": "refresh",
"value": "false",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "MhsLogin | Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://esb.ui.ac.id:8280/mhslogin/aaron",
"protocol": "http",
"host": [
"esb",
"ui",
"ac",
"id"
],
"port": "8280",
"path": [
"mhslogin",
"aaron"
]
}
},
"response": []
},
{
"name": "News | Node",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.6.4.48:3005/news?kd_org=02.02.03.01",
"protocol": "http",
"host": [
"10",
"6",
"4",
"48"
],
"port": "3005",
"path": [
"news"
],
"query": [
{
"key": "kd_org",
"value": "02.02.03.01"
}
]
}
},
"response": []
}
]
},
{
"name": "Publisher",
"item": [
{
"name": "MhsLogin|AP",
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "3e02f5d0-2275-3ac4-9bd7-52e5e9e376bd",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "http://10.39.28.8:8280/siak/mhslogin/v1.0/farhan.nurahman",
"protocol": "http",
"host": [
"10",
"39",
"28",
"8"
],
"port": "8280",
"path": [
"siak",
"mhslogin",
"v1.0",
"farhan.nurahman"
]
}
},
"response": []
},
{
"name": "MhsProfile|AP",
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "173f5dec-c277-320b-923a-4ef8ae279b80",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "http://10.39.28.8:8280/siak/mhsprofile/v1.0/1606821904/01.00.17.01",
"protocol": "http",
"host": [
"10",
"39",
"28",
"8"
],
"port": "8280",
"path": [
"siak",
"mhsprofile",
"v1.0",
"1606821904",
"01.00.17.01"
]
}
},
"response": []
},
{
"name": "ProgressList | AP",
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "15c16539-db32-3a39-b203-1686efbc98b3",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "http://10.39.28.8:8280/siak/progresslist/v1.0/npm/1506736934/tahun/2015/term/1",
"protocol": "http",
"host": [
"10",
"39",
"28",
"8"
],
"port": "8280",
"path": [
"siak",
"progresslist",
"v1.0",
"npm",
"1506736934",
"tahun",
"2015",
"term",
"1"
]
}
},
"response": []
},
{
"name": "ProgressHistory | AP",
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "7e935054-9a3a-335d-b1cc-09ed45439213",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"url": {
"raw": "http://10.39.28.8:8280/siak/progresshistory/v1.0/npm/:npm/kd_org/:kd_org",
"protocol": "http",
"host": [
"10",
"39",
"28",
"8"
],
"port": "8280",
"path": [
"siak",
"progresshistory",
"v1.0",
"npm",
":npm",
"kd_org",
":kd_org"
],
"variable": [
{
"key": "npm",
"value": "1606821904",
"type": "string"
},
{
"key": "kd_org",
"value": "03.00.17.01",
"type": "string"
}
]
}
},
"response": []
}
]
},
{
"name": "EI",
"item": [
{
"name": "Progress History | EI",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.39.28.12:8281/progress?npm=1806195500&kd_org=02.02.03.01",
"protocol": "http",
"host": [
"10",
"39",
"28",
"12"
],
"port": "8281",
"path": [
"progress"
],
"query": [
{
"key": "npm",
"value": "1806195500"
},
{
"key": "kd_org",
"value": "02.02.03.01"
}
]
}
},
"response": []
},
{
"name": "Progress List | EI",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.39.28.12:8281/progress/progresslist?npm=1806195500&tahun=2018&term=1",
"protocol": "http",
"host": [
"10",
"39",
"28",
"12"
],
"port": "8281",
"path": [
"progress",
"progresslist"
],
"query": [
{
"key": "npm",
"value": "1806195500"
},
{
"key": "tahun",
"value": "2018"
},
{
"key": "term",
"value": "1"
}
]
}
},
"response": []
},
{
"name": "MhsLogin | EI",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.39.28.12:8281/mhslogin/:username",
"protocol": "http",
"host": [
"10",
"39",
"28",
"12"
],
"port": "8281",
"path": [
"mhslogin",
":username"
],
"variable": [
{
"key": "username",
"value": "aaron",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "MhsProfile | EI",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.39.28.12:8281/mhsdata/:npm/:kd_org",
"protocol": "http",
"host": [
"10",
"39",
"28",
"12"
],
"port": "8281",
"path": [
"mhsdata",
":npm",
":kd_org"
],
"variable": [
{
"key": "npm",
"value": "1606821904",
"type": "string"
},
{
"key": "kd_org",
"value": "03.00.17.01",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "News | EI",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://10.6.4.48:3005/news?kd_org=02.02.03.01",
"protocol": "http",
"host": [
"10",
"6",
"4",
"48"
],
"port": "3005",
"path": [
"news"
],
"query": [
{
"key": "kd_org",
"value": "02.02.03.01"
}
]
}
},
"response": []
}
]
},
{
"name": "DEPLOYED EI",
"item": [
{
"name": "MhsLogin | DEI",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://esb.ui.ac.id/mhslogin/:nm_mhs",
"protocol": "http",
"host": [
"esb",
"ui",
"ac",
"id"
],
"path": [
"mhslogin",
":nm_mhs"
],
"variable": [
{
"key": "nm_mhs",
"value": "faris.abdurrahman71"
}
]
}
},
"response": []
},
{
"name": "MhsProfile | DEI",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://esb.ui.ac.id/mhsdata/:npm/:kd_org",
"protocol": "http",
"host": [
"esb",
"ui",
"ac",
"id"
],
"path": [
"mhsdata",
":npm",
":kd_org"
],
"variable": [
{
"key": "npm",
"value": "1606821904"
},
{
"key": "kd_org",
"value": "03.00.17.01"
}
]
}
},
"response": []
},
{
"name": "News | DEI",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://esb.ui.ac.id/news/02.02.03.01",
"protocol": "http",
"host": [
"esb",
"ui",
"ac",
"id"
],
"path": [
"news",
"02.02.03.01"
]
}
},
"response": []
},
{
"name": "Progress History | DEI",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://esb.ui.ac.id/progress?npm=1806195500&kd_org=02.02.03.01",
"protocol": "http",
"host": [
"esb",
"ui",
"ac",
"id"
],
"path": [
"progress"
],
"query": [
{
"key": "npm",
"value": "1806195500"
},
{
"key": "kd_org",
"value": "02.02.03.01"
}
]
}
},
"response": []
},
{
"name": "Progress List | DEI",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://esb.ui.ac.id/progress/progresslist?npm=1806195500&tahun=2018&term=1",
"protocol": "http",
"host": [
"esb",
"ui",
"ac",
"id"
],
"path": [
"progress",
"progresslist"
],
"query": [
{
"key": "npm",
"value": "1806195500"
},
{
"key": "tahun",
"value": "2018"
},
{
"key": "term",
"value": "1"
}
]
}
},
"response": []
},
{
"name": "Schedule | DEI",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://esb.ui.ac.id/mhsscheduledata/class?npm=1806195500&kd_org=02.02.03.01",
"protocol": "http",
"host": [
"esb",
"ui",
"ac",
"id"
],
"path": [
"mhsscheduledata",
"class"
],
"query": [
{
"key": "npm",
"value": "1806195500"
},
{
"key": "kd_org",
"value": "02.02.03.01"
}
]
}
},
"response": []
},
{
"name": "Exam | DEI",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://esb.ui.ac.id/mhsscheduledata/exam?npm=1806195500&kd_org=02.02.03.01",
"protocol": "http",
"host": [
"esb",
"ui",
"ac",
"id"
],
"path": [
"mhsscheduledata",
"exam"
],
"query": [
{
"key": "npm",
"value": "1806195500"
},
{
"key": "kd_org",
"value": "02.02.03.01"
}
]
}
},
"response": []
},
{
"name": "Login",
"request": {
"method": "GET",
"header": [],
"url": null
},
"response": []
},
{
"name": "Photo | DEI",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://esb.ui.ac.id/mhs-photo/:username",
"protocol": "http",
"host": [
"esb",
"ui",
"ac",
"id"
],
"path": [
"mhs-photo",
":username"
],
"variable": [
{
"key": "username",
"value": "aaron"
}
]
}
},
"response": []
}
]
},
{
"name": "Legacy",
"item": [
{
"name": "Data Mahasiswa",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://academic.ui.ac.id/rest/emas.php?method=dataMahasiswa&sso=anggi.saputra81 ",
"protocol": "http",
"host": [
"academic",
"ui",
"ac",
"id"
],
"path": [
"rest",
"emas.php"
],
"query": [
{
"key": "method",
"value": "dataMahasiswa"
},
{
"key": "sso",
"value": "anggi.saputra81 "
}
]
}
},
"response": []
},
{
"name": "New Request",
"request": {
"method": "GET",
"header": [],
"url": null
},
"response": []
},
{
"name": "Ringkasan Mahasiswa",
"request": {
"method": "GET",
"header": [],
"url": null
},
"response": []
}
]
},
{
"name": "DEPLOYED APIM",
"item": [
{
"name": "Login",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n\t\"identity\": {\r\n \"reqtxnid\": \"b9f10f2a-e66b-413a-90c4-ad398c91857f\",\r\n \"reqdate\": \"2020-07-11T21:44:59Z\",\r\n \"appid\": \"Rice-Document-List-Erin\",\r\n \"token\": \"xxxxxxxxxxxxxxxxxxxxxxx\"\r\n },\r\n \"parameter\": {\r\n \t\"username\": \"superadmin\",\r\n \t\"password\": \"superadmin22\"\r\n }\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "apiservice.ui.ac.id/common/login/v1",
"host": [
"apiservice",
"ui",
"ac",
"id"
],
"path": [
"common",
"login",
"v1"
]
}
},
"response": []
}
]
}
]
}
\ No newline at end of file
# Student Apps Back End Documentation
#### Definisi
Student Apps Back End adalah aplikasi mobile yang dikembangkan oleh DSTI Universitas Indonesia dengan tujuan menggabungkan sistem Moodle(E-Learning), Back end ini dirancang sebagai jembatan yang menghubungkan database siak dengan Student Apps untuk mengeluarkan data yang diinginkan dengan parameter tertentu.
---
#### Teknologi
1. NodeJs
2. ExpressJs
3. Node-Oracle
4. JavaScript
---
#### Dokumentasi
-----
1. **Instalasi**
Untuk installasi berberapa hal yang harus dilakukan yaitu:
* Terlebih dahulu harus memiliki akun gitlab di gitlab.ui.ac.id dan menginstall module node oracle. untuk node oracle dapat dilihat pada [url]([oracle/node-oracledb: Oracle Database driver for Node.js maintained by Oracle Corp. (github.com)](https://github.com/oracle/node-oracledb))
* Clone codebase moodle mobile app pada [url](http://MzBudi@gitlab.ui.ac.id/MzBudi/ui-mobile-apps-backend.git)
* Masuk ke folder dengan cmd dan pindah branch ke staging `git checkout staging`
* Lakukan instalasi package dengan perintah `npm install`, setelah selesai jalankan perintah `npm run start`
* Untuk terkoneksi ke database diperlukan vpn dengan akses ke database SIAK supaya aplikasi dapat berjalan, atau dijalankan ke vm yang ipnya telah di whitelist ke SIAK
2. **Model dan Controller**
Back end ini dibangun dengan meniru konsep MVC dan mengalokasikan Routes sebagai View. untuk melakukan tracing alur pengambilan data dilakukan dengan urutan `routes -> Model controller -> model `
3. **Integrasi ESB**
Rencananya back end akan diintegrasikan dengan Sistem wso2 Api manager melalui ESB. dan saat ini baru sampai pada tahap ESB. untuk ESB sendiri nama file .car yang di deploy adalah `core-ourUIMobileCompositeExporter_1.0.0.car`
4. **Integrasi Api Manager**
Pada Api manager saat ini masih dalam pengembangan pencarian jalan akses sso dan terkendala di alur get token yang baru yang masih dipelajari.
5. **Deployment **
Deployment pada backend ini dilakukan pada VM yang telah disediakan, credentialnya adalah:
| **Key** | **Value** |
| ----------------- | ------------------------------------------------------------ |
| `ip` | `10.6.4.48:22` |
| `username` | `roni` |
| `password` | `roni2020` |
| `gitlab.ui.ac.id` | `http://MzBudi@gitlab.ui.ac.id/MzBudi/ui-mobile-apps-backend.git` |
Untuk login diperlukan akses vpn dari open vpn, folder penyimpanan file nodejs berada di direktori `ui-wso-backend` untuk melakukan pembaruan diharuskan melakukan push ke git dengan perintah `git push origin staging` dan pull melalui vm dengan perintah `git pull origin staging`. berikut adalah command list untuk menjalankan aplikasi:
| **Command Name** | **Command** |
| ---------------- | ---------------------------------------------- |
| Start | `sudo pm2 start index.js --name "Siak_Mobile"` |
| Restart | `sudo pm2 restart Siak_Mobile` |
| Log | `sudo pm2 log` |
| Stop | `sudo pm2 stop Siak_Mobile` |
# Student Apps Documentation
#### Definisi
Student Apps adalah aplikasi mobile yang dikembangkan oleh DSTI Universitas Indonesia dengan tujuan menggabungkan sistem Moodle(E-Learning), EMAS dan SIAKNG sehingga, user dapat menggunakan apps ini untuk e-learning, melihat record perkuliahan dan jadwal kuliah dalam satu aplikasi sekaligus. Aplikasi ini dikembangkan dengan codebase moodle mobile app open source Apache 2.0 dari [url](https://github.com/moodlehq/moodleapp) github milik moodle.
---
#### Teknologi
1. Angular 5
2. Ionic V3
3. Moodle LMS
4. SQLite
5. Gulp
6. TypeScript
7. JavaScript
---
#### Dokumentasi
-----
1. **Instalasi**
Untuk installasi berberapa hal yang harus dilakukan yaitu:
* Clone codebase moodle mobile app pada [url](https://github.com/moodlehq/moodleapp)
* masuk ke folder dengan cmd dan lakukan instalasi package dengan perintah `npm run setup`
* pindah branch ke integration `git checkout integration`
* buka 2 cmd dan jalankan `npx gulp watch` dan `npx ionic-app-scripts serve -b --devapp --address=0.0.0.0` pada masing - masing terminal dan moodle akan berjalan pada http://localhost:8100/
* Dokumentasi lebih lengkap dapat dilihat pada [url](https://docs.moodle.org/dev/Setting_up_your_development_environment_for_Moodle_Mobile_2)
2. **Store Modification**
Moodle mobile app menggunakan SQLite yang digunakan untuk menyimpan data sementara. oleh karenanya perlu dilakukan modifikasi untuk menyimpan data yang dirasa perlu digunakan
- `src > classes` line 202 tambahkan custom table yang diinginkan. contoh `static APP_CUST_DATA = 'custom_data';` ini berfungsi untuk membuat table yang baru
3. **Credential**
Pada dasarnya App ini digunakan untuk Login ke website moodle yang telah di deploy, sehingga untuk login hanya perlu memasukan url dan username beserta password. namun untuk kasus DSTI diharuskan untuk double login yaitu ke website emas dan ke sso. supaya sso bisa digunakan untuk api student.
- Configurasi target website moodle
- Configurasi ada pada file `src > config.json` line 69. ubah `"siteurl": "https://school.moodledemo.net/"` dengan site yang diinginkan
- Modifikasi promise login `src > providers > sites.ts` ubah dengan promise api login tambahan dengan promise.all
![Gambar](C:\Users\MzBudi\Desktop\Login modif.PNG)
- Pada credential.ts `src > core > login > pages >credentials > credentials.ts` masukan data yang ingin dimasukan ke tabel pada line 243 dengan fungsi insertRecord yang telah dibuat pada line 296
4. **Home**
Untuk mengganti Page setelah login `src > core > login > providers> helper.ts` line 794. gantilah dengan halaman yang diinginkan (Lazyloading), yang sebelumnya halamannya sudah harus dibuat terlebih dahulu, untuk contoh pembuatan halaman dapat dilihat pada `src > core> home`
5. **Pembuatan Halaman**
Untuk membuat halaman lain setelah halaman home terbuat dapat dilakukan dengan cara yang sama. menggunakan navpush(fitur ionic 3). Halaman custom pada app ini diantaranya adalah
- Schedule : `src > core > schedule`
- Scedule-exam : `src > core > schedule-exam`
- Progress : `src > core > progress`
- Side-Profile : `src > core > side-profile`
6. **Alur Logout**
Pada dasarnya app bawaan moodle digunakan untuk menyimpan banyak website, dan dapat login kembali dengan memilih salah satu website yang tersimpan. oleh karenanya dimodifikasi supaya hanya dapat menyimpan 1 website dan ketika logout website terhapus.
Pengaturan ada pada `src > core > login > providers> sites.ts` pada line 1515 tambahkan `await this.deleteSite(siteId)`
dan untuk contoh trigger logout ada pada `src > core > side-profile > side-profile.ts`
* `import { CoreSitesProvider } from '@providers/sites'` berfungsi untuk instansiasi fungsi site yang aktif
* Instance tersebut dimasukan kedalam konstruktor pada line 19 `protected sitesProvider: CoreSitesProvider`
* kemudian fungsi untuk trigger logout ada pada fungsi logout line 23 yang isinya menjalankan fungsi dari instance `this.sitesProvider.logout();`
\ No newline at end of file
No preview for this file type
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!