Backend REST API dengan ExpressJS dan TypeORM
Prerequisite:
  1. npm v10+
  2. npx v10+
  3. node v20+
  4. PostgreSQL v14+ dan aksesnya (buat sebuah database misalnya dengan nama db "contohdb")
1. Persiapan
Buat folder untuk project backend NodeJS, inisialisasi NodeJS, instal dan inisialisasi typescript.
Instal typeorm reflect-metadata express cors ts-node pg class-transformer class-validator
Pada file tsconfig.json lakukan konfigurasi untuk mengaktifkan fitur dekorator typescript experimentalDecorators dan emitDecoratorMetadata ke true. Tambahan: atur outDir: dist agar hasil build typescript terkumpul dalam sebuah folder dist.
2. Desain ADF
Berikut contoh desain ADF sederhana terdiri dari tabel User lalu api untuk login dan register. Salin dan simpan desain ADF di bawah sebagai blueprint.adf
3. Code Generator @graf-research/adf-codegen-api-nodejs
Generate kode dengan nama output folder lib-api
Sebuah folder berisi file-file yang dibutuhkan untuk membuat sebuah backend REST API akan muncul dengan nama lib-api/
4. Tambahkan data-source.ts konfigurasi TypeORM
Buat file data-source.ts dengan isi seperti berikut
Modifikasi package.json tambahkan script untuk auto-generate migration TypeORM
5. Generate Migration & Migrate Database
Generate script migration menggunakan generate-migration dengan parameter path folder "migration" sesuai konfigurasi data-source.ts diatas diikuti nama file migration (tanpa ekstensi).
akan menghasilkan file migration migration/Init.ts
Jalankan file migration
Proses migration akan mengeksekusi pembuatan tabel ke database PostgreSQL
6. Implementasi Backend & Jalankan Server
Buat file main server, misalnya server.ts. Implementasi proses API:
Jalankan server
Copyright © 2024 Graf Research