Yang Akan Dibangun
Kita akan membangun REST API sederhana untuk manajemen user dengan endpoint CRUD, autentikasi JWT, dan koneksi ke PostgreSQL.
Prerequisites
- Node.js v18+ terinstall
- PostgreSQL running (bisa via Docker)
- Pemahaman dasar JavaScript
Langkah 1: Setup Project
Buat direktori baru, inisialisasi npm, dan install dependencies: npm init -y && npm install express pg bcrypt jsonwebtoken dotenv. Install dev dependencies: npm install -D nodemon.
Langkah 2: Struktur Folder
Organisasikan project: src/routes, src/controllers, src/middleware, src/models. Struktur ini memisahkan concerns dan memudahkan maintenance.
Langkah 3: Konfigurasi Database
Buat file src/db.js dengan pool connection PostgreSQL. Gunakan environment variables untuk kredensial database, jangan hardcode di kode.
Langkah 4: Buat Routes dan Controllers
Definisikan routes di src/routes/users.js dan implementasikan logic di controller. Pisahkan validation dari business logic.
Langkah 5: Middleware JWT
Buat middleware untuk memverifikasi JWT token dan attach user data ke request object. Terapkan middleware ini ke protected routes.
Langkah 6: Error Handling
Buat centralized error handler yang menangkap semua error dan mengembalikan response yang konsisten. Jangan expose stack trace di produksi.
Deployment
Containerize dengan Docker, buat .env.example untuk dokumentasi environment variables, dan setup health check endpoint sebelum deploy.