Pada tutorial ini saya akan membuat sebuah program backend Online Shop untuk stack tech ExpressJS dan TypeORM menggunakan desain berikut:
Prerequisite:
- npm v10+
- npx v10+
- node v20+
- PostgreSQL v14+ dan aksesnya (buat sebuah database misalnya dengan nama db "contohdb")
Untuk instalasi npm, node, dan npx dapat menggunakan tools nvm
https://github.com/nvm-sh/nvm1. 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
Saya akan menggunakan desain ADF yang ada pada link desain di atas https://desain.pagonila.id/online-shop.adf
3. Code Generator
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