Untuk menghasilkan library (pustaka), pengguna harus men-deployBlueprint terlebih dahulu.
Hasil publikasi (deploy) memunculkan instruksi instalasi paket npm melalui repository git.
Library yang dihasilkan oleh Pagonila terdiri dari tiga bagian:
Tiga bagian di atas dapat langsung digunakan pada program backend dan frontend.
Data Model berisi seluruh koleksi model basis data dan skema dalam bentuk static types Typescript. Seluruh struktur data terdefinisi dalam bentuk interface dan type Typescript.
Struktur data yang dimaksud mencakup model basis data, enumerasi basis data, daftar endpoint API,
parameter API, data kembalian (return value) API, dan skema lain yang tidak digunakan pada API.
Engine Library berisi program backend yang dapat langsung digunakan sebagai aplikasi backend
layaknya seperti ExpressJS. Engine Library menyediakan berbagai fitur
otomasi seperti validasi request, transformasi request, error handling,
return value handling, dan static type checking yang otomatis dilakukan oleh Typescript.
Engine Library berusaha mengeliminasi pekerjaan yang tidak esensial dan berulang dalam membuat
sebuah program sehingga programmer fokus pada implementasi proses bisnis dari backend tersebut.
Driver Library berisi program frontend yang digunakan untuk mengakses API backend layaknya
seperti Axios HTTP. Driver Library menyediakan koleksi
API yang telah didefinisikan pada backend dengan memanfaatkan fitur static types Typescript.
Driver Library memudahkan frontend untuk mengakses seluruh API yang tersedia termasuk
parameter request dan nilai kembalian (return value) yang diberikan oleh API.
Best Practice
Library yang dihasilkan Pagonila dapat langsung dikonsumsi oleh projectfrontend dan backend yang
menggunakan Javascript/Typescript.
Backend Engine
Berikut ini salah satu cara untuk mengimplementasikan backend engine.
Inisialisasi Project
Buat direktori project backend, lalu inisialisasi npm
Install Typescript dan inisialisasi tsconfig.json
[opsional] Ubah folder tujuan keluaran kompilasi Typescript
Install Engine Library
Install library keluaran Pagonila.
Inisialisasi berkas index.ts
Install Driver Basis Data
Implementasi Pagonila menggunakan model TypeORM sebagai ORM, ini memudahkan proses migrasi basis data menggunakan cara TypeORM.
Install dependensi TypeORM, PostgresSQL (sesuaikan dengan kebutuhan jenis basis data), dan TS-Node
Buat berkas data-source.ts
Tambah scriptgenerate-migration (untuk generate migration script) dan migration (untuk melakukan migrasi basis data)
Inisialisasi script migration pertama
Jalankan migration untuk mengeksekusi script migration
Implementasi Backend
Inisialisasi akses basis data dan implementasi API pada backend engine.
Backend siap dipakai. Penjelasan lebih lengkap mengenai fitur backend dapat lihat di Engine Library
Frontend Driver
Berikut contoh penggunaan Frontend Driver.
ReactJS
NodeJS
Penjelasan lebih lengkap mengenai fitur frontend driver dapat lihat di Driver Library