Project About
Selamat datang di SuperApp PPSDM Migas. SuperApp pada dasarnya adalah gabungan dari beberapa layanan.
Prinsip
Dalam pengembangan, project ini menerapkan konsep microservice dengan pendekatan orchestration dan choreography.
Sedangkan sebagai nature dari aplikasi, aplikasi ini memiliki prinsip:
- All-in-one => Semua layanan PPSDM Migas disediakan melalui 1 interface.
- Volatile => Mengakomodir untuk setiap beda kepengurusan pimpinan bisa saja sistem yang mengurus suatu bidang berubah, semua hak akses yang ada di aplikasi ini sangat dinamis dan bisa diatur melalui interface.
- Dynamic => Semua data yang digunakan di website diharapkan user bisa mengeditnya secara langsung, tidak fixed/hardcoded.
- Clarity => Karena pelanggan PPSDM Migas mayoritas adalah gen x. Semua alur dan birokrasi meski di dalamnya ribet, yang ditampilkan ke pelanggan adalah semudah mungkin.
- Simplicity => Beberapa step yang pada dasarnya bisa dikomputasi, langsung bisa diolah secara langsung tanpa perlu campur tangan aktor.
- Flexibility => Apabila ada layanan yang tidak dipakai, admin bisa menonaktifkan layanan tersebut secara langsung dari interface.
- Modifiable => Dengan cepat dan randomnya permintaan user, sistem diharapkan terdokumentasi dengan mudah dan jelas sehingga tidak mempengaruhi data yang sedang berjalan.
Daftar Project
Setiap nama project, pasti memiliki pola seperti berikut sa-xx-yyyyy
. Pola tersebut memiliki arti:
sa
=> Sebagai prefix agar project SuperApp terorganisir berada di 1 blok yang sama.xx
=> Merupakan jenis project. Jenis project adalah sebagai berikut:gw
=> Monolith FrontEnd yang sekaligus digunakan sebagai Gateway,be
=> Backend yang bertindak sebagai API Server,dc
=> Dokumentasi, seperti website ini sendiri,cf
=> Konfigurasi,
yyyy
=> Nama dari project tersebut, biasanya sudah sesuai tujuan servicenya.
Setiap project memiliki nomor kode, nomor kode tersebut digunakan sebagai port forwarding Docker. (Lihat penjelasan disini)
Nama Repository | Project Code | Kode | Deskripsi |
---|---|---|---|
sa-cf-environment | 00 | Docker compose yang bisa digunakan untuk semua project | |
sa-gw-admin | GWA | 01 | Interface admin/pengguna internal. Sekaligus tempat pengelolaan auth dan organisasi |
sa-gw-customer | GWC | 02 | Interface pelanggan/pengguna eksternal. Sama juga pengelolaan auth |
sa-be-penerimaan | PNR | 03 | Pioner service yang lainnya karena mengelola apa yang dijual sekaligus tarifnya dan menyimpan transaksi |
sa-be-tandatangan | TTG | 04 | Menyimpan data verifikasi tanda tangan elektronik |
sa-be-tamu | BTM | 05 | Pencatatan tamu PPSDM Migas |
sa-be-sertifikasi | SRF | 06 | Mengelola pelaksanaan sertifikasi |
sa-be-pelatihan | PLT | 07 | Mengelola pelaksanaan pelatihan |
sa-be-wisma | WSM | 08 | Mengelola penyewaan wisma |
sa-be-fasilitas | FSL | 09 | Mengelola penyewaan gedung dan tiket layanan |
sa-be-pkl | PRK | 10 | Mengelola pelaksanaan Praktik Kerja Lapangan |
sa-be-alumni | ALU | 11 | Mirip seperti sosial media sebagai sarana komunikasi dan publikasi PPSDM Migas terhadap alumninya |
sa-fe-ujian | FEX | 12 | Website ujian secure |
sa-pc-exam | PUX | 13 | Aplikasi desktop untuk ujian secure |
sa-ft-exam | MUX | 14 | Aplikasi mobile untuk ujian secure |
sa-be-lab | LBK | 15 | Pengelola laboratorium |
sa-ft-dashboard | DEX | 16 | Aplikasi Mobile dashboard eksekutif dan penanda tangan |
sa-be-lms | LRN | 17 | Learning Management System |
FYI
Daftar project diatas masih bisa berubah sesuai kondisi permintaan.
Cloning Project
- Silahkan masuk ke GitHub untuk mendapatkan path clone yang diinginkan.
- Setelah masuk jalankan
composer install
untuk mengunduh library PHP.- Apabila anda menggunakan Laravel Sail, nantinya dalam menjalankan perintah pastikan sesuai dengan guideline berikut.
- Apabila di
README.md
terdapat tulisan Tipe Project adalah Front-End, jalankan perintahnpm ci
(Jangannpm i
/npm install
/npm update
!) untuk mengunduh library JavaScript. Disini kami menggunakannpm
. - Jalankan perintah
php artisan bpm:env
untuk membuat file.env
di root project ini.- Apabila anda menggunakan local, maka akan terpecah menjadi 2 opsi untuk memilih pendekatan pengecekkan service tools.
- Apabila anda memilih semua local, maka pastikan semua atribut pada
.env
sudah diarahkan dengan benar ke setiap alat pengembangan.
- Jalankan perintah
php artisan storage:link
untuk membuat asset yang ada di storage bisa diakses oleh website. - Jalankan perintah
php artisan migrate --seed
untuk menjalankan migration dan seeder. Akun default adalahadmin@test.com
dengan passwordpassword
. - Untuk mengakses interface website Front-End, jalankan
npm run dev
terlebih dahulu karena semua component kami sediakan sebagai SSR (Server Side Rendering) dengan Client Hydration. - Selamat mengeksplorasi 😃
Custom Artisan Command
Kami disini membuat beberapa custom perintah artisan yang kami gunakan untuk mempermudah pekerjaan anda. Semua command artisan yang kami buat pasti diawali dengan bpm
sehingga apabila anda mencari perintah tersebut dengan php artisan list
maka akan muncul grup bpm. Berikut beberapa perintah yang kami buat:
bpm:env
Digunakan untuk menyalin/menimpa file .env
dari Project. Di setiap project terdapat 2 file .env.example
sesuai dengan anda ingin menggunakan development environment yang mana. Command ini sekaligus akan melakukan konfigurasi tentang port sesuai pilihan anda ingin menggunakan Shared environment atau sesuai dengan sealed environment Docker maupun local OS environment.
bpm:keygen Tidak digunakan lagi
Digunakan untuk membuat API key untuk project tersebut. API key akan disimpan dalam file .env
, jadi apabila tidak ada file .env
maka perintah akan gagal dijalankan.
bpm:store-key Tidak digunakan lagi
Digunakan untuk menyimpan API key dari service lain. Setelah anda menjalankan php artisan bpm:keygen
di project lain, untuk menyimpan API key tersebut di client service bisa menggunakan perintah ini.
Hak Cipta
Semua tentang aplikasi baik itu konsep, asset, data, informasi, maupun file adalah hak kekayaan intelektual PPSDM Migas.
Pihak luar tidak diperkenankan mengambil maupun menyebarluaskan data tersebut.