- Instal nvm atau nvm-windows (untuk windows).
- Instal PostgreSQL.
- (opsional) Instal Docker.
Node.js dengan versi 15.x.x
dibutuhkan untuk menjalankan server. Untuk menginstal versi yang dibutuhkan gunakan Node Version Manager (NVM).
$ nvm use 15.12.0
$ nvm use
Konfigurasi standar yang dibuat membutuhkan database dengan nama proyek3
, nama user proyek3
, dan password proyek3
.
Untuk membuat user dengan nama proyek3
dan password proyek3
, ikuti langkah berikut:
- Buka pgAdmin.
- Pada bagian
Browser
pilihServers > PostgreSQL
. - Klik kanan, pada context menu pilih
Create > Login/Group Role...
. - Pada window
Create - Login/Group Role
dalam tabGeneral
, isi kolomName
denganproyek3
. - Pada window
Create - Login/Group Role
dalam tabDefinition
, isi kolomPassword
denganproyek3
. - Pada window
Create - Login/Group Role
dalam tabPrivileges
, ubah kolomCan login?
menjadiYes
. - Pada window
Create - Login/Group Role
, klik tombolSave
.
Untuk membuat database dengan nama proyek3
, ikuti langkah berikut:
- Buka pgAdmin.
- Pada bagian
Browser
pilihServers > PostgreSQL > Databases
. - Klik kanan, pada context menu pilih
Create > Database...
. - Pada window
Create - Database
dalam tabGeneral
, isi kolomDatabase
denganproyek3
. - Pada window
Create - Database
dalam tabGeneral
, isi kolomOwner
dengan userproyek3
. - Pada window
Create - Database
, klik tombolSave
.
$ docker run \
--rm \
--network host \
--name proyek3-postgres \
-e POSTGRES_USER=proyek3 \
-e POSTGRES_PASSWORD=proyek3 \
-e POSTGRES_DB=proyek3 \
-d postgres
Jika database dengan nama proyek3
, nama user proyek3
, dan password proyek3
telah dibuat, maka langkah ini dapat diabaikan.
Proyek ini memiliki ketergantungan terhadap library dari pihak ketiga. Untuk menginstal semua library yang dibutuhkan jalankan perintah berikut:
$ npm install
Schema migration digunakan untuk mengelola dan melacak perubahan yang dilakukan terhadap database schema. Terdapat cara yang lebih mudah untuk mensinkronasikan database schema, yaitu dengan menggunakan sequelize.sync()
namun terdapat kelemahan seperti yang dijelaskan disini. Sehingga, cara tersebut tidak dapat digunakan dalam proyek ini.
Dalam melakukan pengembangan server, pastikan database schema telah tersinkronisasi dengan versi terbaru, hal ini dapat dilakukan dengan menjalankan perintah berikut:
$ npx sequelize-cli db:migrate
Untuk menjalankan server dalam development mode, jalankan perintah berikut:
$ npm run serve:development
Dalam development mode, setiap perubahan yang dilakukan terhadap source code akan terdeteksi. Sehingga, server akan langsung direstart secara otomatis. Untuk menghentikan server tekan tombol CTRL+C
.
Untuk dapat mengubah database schema, migration file harus dibuat dengan cara menjalankan perintah berikut:
$ npx sequelize-cli migration:generate --name migration-skeleton
Perintah diatas akan membuat migration file dengan nama resources/xxx-migration-skeleton.js
, lalu karena proyek ini menggunakan standar ES6 sementara sequelize menggunakan standar commonJS, maka file extension harus diubah menjadi resources/xxx-migration-skeleton.cjs
agar proses migrasi dapat dilakukan.
Catatan: untuk saat ini, perintah npx sequelize-cli model:generate
tidak didukung.