Skip to content
This repository has been archived by the owner on Oct 24, 2021. It is now read-only.

d4jtk18p3/proyek3-service-penilaian

Repository files navigation

Server

Daftar Isi

Prasyarat

  1. Instal nvm atau nvm-windows (untuk windows).
  2. Instal PostgreSQL.
  3. (opsional) Instal Docker.

Pengembangan

Menggunakan Node.js versi terbaru

Node.js dengan versi 15.x.x dibutuhkan untuk menjalankan server. Untuk menginstal versi yang dibutuhkan gunakan Node Version Manager (NVM).

Windows
$ nvm use 15.12.0
Linux
$ nvm use

Menjalankan & menkonfigurasikan PostgreSQL

Konfigurasi standar yang dibuat membutuhkan database dengan nama proyek3, nama user proyek3, dan password proyek3.

Windows (dengan pgAdmin)

Untuk membuat user dengan nama proyek3 dan password proyek3, ikuti langkah berikut:

  1. Buka pgAdmin.
  2. Pada bagian Browser pilih Servers > PostgreSQL.
  3. Klik kanan, pada context menu pilih Create > Login/Group Role....
  4. Pada window Create - Login/Group Role dalam tab General, isi kolom Name dengan proyek3.
  5. Pada window Create - Login/Group Role dalam tab Definition, isi kolom Password dengan proyek3.
  6. Pada window Create - Login/Group Role dalam tab Privileges, ubah kolom Can login? menjadi Yes.
  7. Pada window Create - Login/Group Role, klik tombol Save.

Untuk membuat database dengan nama proyek3, ikuti langkah berikut:

  1. Buka pgAdmin.
  2. Pada bagian Browser pilih Servers > PostgreSQL > Databases.
  3. Klik kanan, pada context menu pilih Create > Database....
  4. Pada window Create - Database dalam tab General, isi kolom Database dengan proyek3.
  5. Pada window Create - Database dalam tab General, isi kolom Owner dengan user proyek3.
  6. Pada window Create - Database, klik tombol Save.
Docker
$ docker run \
    --rm \
    --network host \
    --name proyek3-postgres \
    -e POSTGRES_USER=proyek3 \
    -e POSTGRES_PASSWORD=proyek3 \
    -e POSTGRES_DB=proyek3 \
    -d postgres

Mengubah .env.development sesuai keadaan local environment

Jika database dengan nama proyek3, nama user proyek3, dan password proyek3 telah dibuat, maka langkah ini dapat diabaikan.

Instal dependencies

Proyek ini memiliki ketergantungan terhadap library dari pihak ketiga. Untuk menginstal semua library yang dibutuhkan jalankan perintah berikut:

$ npm install

Migrasikan database schema

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.

Menyinkronkan database schema

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

Menjalankan server dalam development mode

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.

Lain-lain

Membuat migration skeleton

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published