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 github milik moodle.
Teknologi
- Angular 5
- Ionic V3
- Moodle LMS
- SQLite
- Gulp
- TypeScript
- JavaScript
Dokumentasi
- Instalasi
Untuk installasi berberapa hal yang harus dilakukan yaitu:
Clone codebase moodle mobile app pada url
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
dannpx 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
- 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. contohstatic APP_CUST_DATA = 'custom_data';
ini berfungsi untuk membuat table yang baru
- 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
- 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
- Configurasi ada pada file
- 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
- 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
- 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();