Halo, para pejuang kode!
Kali ini kita akan membahas cara instalasi paket-paket penting yang dibutuhkan untuk membangun aplikasi Point of Sale (POS) dengan Express.js dan PostgreSQL.
Jadi, kalau kamu lagi kepikiran bikin aplikasi kasir modern—biar gak lagi-lagi catat transaksi pakai kertas dan pulpen (ketinggalan zaman, bro!)—Express.js dan PostgreSQL adalah kombinasi yang pas.
Nah, biar proyeknya lancar, kita butuh beberapa paket penting yang akan membantu koneksi ke database, mengelola variabel lingkungan, dan membuat server berjalan dengan lebih baik. Yuk, kita mulai!
1. Persiapan Awal: Pastikan Node.js & PostgreSQL Terinstall
Sebelum menginstall paket-paket yang dibutuhkan, pastikan kamu sudah menginstall:
Node.js – Bisa dicek dengan perintah:
node -v
Kalau belum, silakan download dari nodejs.org.
PostgreSQL – Cek dengan:
psql --version
Kalau belum ada, bisa diunduh dari postgresql.org.
NPM atau Yarn – Kita akan pakai npm (bawaan Node.js). Cek dengan:
npm -v
2. Membuat Proyek Express.js Baru
Pertama-tama, kita buat folder proyek baru untuk aplikasi POS kita:
mkdir pos-app
cd pos-app
Lalu inisialisasi proyek dengan perintah:
npm init -y
Perintah ini akan membuat file package.json
, yang nantinya akan menyimpan daftar paket yang kita install.
3. Instalasi Paket-Paket Penting
Sekarang saatnya menginstall paket-paket yang akan kita gunakan.
a. Install Express.js (Server Web Framework)
Express.js adalah framework utama kita untuk membangun API. Jalankan perintah ini:
npm install express
Kenapa butuh Express.js?
- Mempermudah pembuatan server.
- Menyediakan middleware untuk menangani request dan response.
- Cocok untuk membangun REST API.
b. Install pg (PostgreSQL Client untuk Node.js)
Agar Express bisa berkomunikasi dengan PostgreSQL, kita butuh paket pg
:
npm install pg
Kenapa butuh pg?
pg
adalah driver untuk PostgreSQL di Node.js.- Memungkinkan kita menjalankan query SQL langsung dari kode JavaScript.
Kita juga bisa menginstall pg-promise
kalau ingin bekerja dengan query builder yang lebih fleksibel:
npm install pg-promise
c. Install dotenv (Mengelola Variabel Lingkungan)
Kita akan menyimpan konfigurasi sensitif (seperti koneksi database) di file .env
, jadi kita butuh dotenv
:
npm install dotenv
Kenapa butuh dotenv?
- Supaya informasi seperti username, password, dan URL database tidak ditulis langsung di kode.
- Meningkatkan keamanan dan fleksibilitas aplikasi.
d. Install Nodemon (Untuk Auto-restart Server Saat Ada Perubahan)
Biar kita gak perlu manual restart server tiap kali ada perubahan, kita bisa pakai nodemon
:
npm install -g nodemon
Kenapa butuh nodemon?
- Menghemat waktu developer karena server restart otomatis setelah ada perubahan kode.
- Sangat berguna saat proses development.
Sekarang, kita bisa menjalankan server dengan:
nodemon server.js
e. Install CORS (Untuk Mengizinkan Akses API dari Frontend)
Kalau nanti aplikasi POS kita akan diakses dari frontend lain (misalnya React atau Vue), kita perlu mengaktifkan CORS:
npm install cors
Kenapa butuh CORS?
- Tanpa CORS, frontend dan backend bisa gagal berkomunikasi karena aturan keamanan browser.
- Dengan CORS, kita bisa mengizinkan domain tertentu untuk mengakses API kita.
f. Install Middleware Tambahan (Morgan & Helmet)
Morgan (Logging Request)
Biar kita bisa melihat semua request yang masuk ke server, kita gunakan morgan
:
npm install morgan
Kenapa butuh Morgan?
- Memberikan log detail tentang setiap request yang masuk.
- Membantu debugging saat ada request yang gagal.
Helmet (Meningkatkan Keamanan API)
Untuk menambahkan perlindungan ekstra terhadap serangan web, kita bisa pakai helmet
:
npm install helmet
Kenapa butuh Helmet?
- Menambah header keamanan seperti XSS Protection dan Content Security Policy.
- Mengurangi risiko serangan dari hacker.
4. Menggunakan Paket yang Sudah Diinstall
Sekarang kita buat file server.js
dan tambahkan semua paket yang kita install:
require("dotenv").config();
const express = require("express");
const cors = require("cors");
const helmet = require("helmet");
const morgan = require("morgan");
const { Pool } = require("pg");
const app = express();
const PORT = process.env.PORT || 3000;
// Middleware
app.use(express.json());
app.use(cors());
app.use(helmet());
app.use(morgan("dev"));
// Koneksi PostgreSQL
const pool = new Pool({
user: process.env.DB_USER,
host: process.env.DB_HOST,
database: process.env.DB_NAME,
password: process.env.DB_PASS,
port: process.env.DB_PORT,
});
pool.connect()
.then(() => console.log("Database terhubung!"))
.catch(err => console.error("Koneksi database gagal:", err));
// Rute API
app.get("/", (req, res) => {
res.send("Aplikasi POS siap jalan!");
});
// Menjalankan server
app.listen(PORT, () => {
console.log(`Server berjalan di http://localhost:${PORT}`);
});
5. Menyimpan Konfigurasi di File .env
Buat file .env di root folder proyek dan isi dengan:
PORT=3000
DB_USER=postgres
DB_HOST=localhost
DB_NAME=pos_db
DB_PASS=secretpassword
DB_PORT=5432
Pastikan file ini tidak diupload ke GitHub! Tambahkan .env
ke .gitignore
.
Kesimpulan
Aplikasi POS berbasis Express.js dan PostgreSQL sudah siap!
Dalam artikel ini, kita sudah:
- Membuat proyek Express.js baru
- Menginstall express, pg, dotenv, cors, helmet, morgan, dan nodemon
- Menghubungkan PostgreSQL ke Express.js
- Menyiapkan middleware untuk keamanan dan logging
0 Comments