API catatan sederhana dengan autentikasi JWT. Dibangun dengan Express, PostgreSQL (pg), dan node-pg-migrate.
- Node.js 20 atau lebih baru
- PostgreSQL (lokal, untuk pengembangan)
-
Salin file contoh environment lalu sesuaikan isinya:
cp .env.example .env
-
Pasang dependensi:
npm install
-
Buat database PostgreSQL sesuai
DATABASE_URLdi.env, lalu jalankan migrasi:npm run migrate up
-
Jalankan server:
npm run dev # mode pengembangan (otomatis restart saat file berubah) npm start # mode biasa
-
Cek server hidup:
curl http://localhost:5000/api/health # → {"status":"ok"}
Unit test memvalidasi payload secara murni — tidak butuh database:
npm testImpor file postman_collection.json ke Postman (Import → pilih file). Urutan pemakaian:
- Health Check — memastikan server hidup.
- Auth → Register — username unik dibuat otomatis setiap dijalankan.
- Auth → Login — access token otomatis tersimpan ke variabel koleksi.
- Folder Catatan — langsung bisa dipakai karena token sudah terpasang.
Untuk menguji server yang sudah di-deploy, ubah variabel koleksi baseUrl.
| Variabel | Fungsi | Contoh |
|---|---|---|
PORT |
Port server Express | 5000 |
DATABASE_URL |
Alamat koneksi PostgreSQL | postgres://user:pass@localhost:5432/notes_db |
JWT_SECRET |
Kunci rahasia penandatangan JWT | (string acak yang panjang) |
CORS_ORIGIN |
Daftar origin frontend yang diizinkan, dipisah koma | http://localhost:5173 |
| Method | Endpoint | Auth | Fungsi |
|---|---|---|---|
| GET | /api/health |
— | Cek server hidup |
| POST | /api/auth/register |
— | Daftar user baru |
| POST | /api/auth/login |
— | Masuk, mendapat access token |
| GET | /api/notes |
Bearer | Daftar catatan milik user |
| POST | /api/notes |
Bearer | Buat catatan |
| GET | /api/notes/:id |
Bearer | Detail catatan |
| DELETE | /api/notes/:id |
Bearer | Hapus catatan |