Bab 2: Backend Development - Dasar - Membuat Server Express
Bab 2.1: Membuat Server Express
1. Membuat Project Node.js
Pertama, buat struktur folder dasar:
# Buat folder utama
mkdir presensi-app
cd presensi-app
# Buat folder frontend dan backend
mkdir frontend backend
cd backendDi dalam folder /presensi-app/backend, inisialisasi project Node.js:
npm init -yIsi detail project di presensi-app/backend/package.json:
{
"name": "presensi-app-backend",
"version": "1.0.0",
"description": "Backend untuk aplikasi presensi menggunakan Express",
"main": "server.js",
"scripts": {
"start": "node server.js",
"dev": "nodemon server.js"
},
"author": "Nama Anda",
"license": "ISC"
}2. Instalasi Package yang Diperlukan
Di folder /presensi-app/backend, install package yang dibutuhkan:
3. Membuat Struktur Folder
Buat folder-folder berikut di dalam /presensi-app/backend:
Struktur folder lengkap:
4. Setup File Konfigurasi
Buat file
/presensi-app/backend/.env:
Buat file
/presensi-app/backend/.gitignore:
5. Setup Server Express
Buat file /presensi-app/backend/server.js:
6. Implementasi Routes Dasar
Buat file
/presensi-app/backend/routes/userRoutes.js:
Update file
/presensi-app/backend/server.jsuntuk menambahkan routes:
7. Testing API dengan Postman
Buat Collection baru di Postman:
Nama: "Aplikasi Presensi API"
Buat request untuk setiap endpoint
Test Route GET
/api/users:Method: GET
URL:
http://localhost:5000/api/usersExpected Response (200 OK):
Test Route POST
/api/users:Method: POST
URL:
http://localhost:5000/api/usersHeaders:
Body (raw JSON):
Test Route PUT
/api/users/:id:Method: PUT
URL:
http://localhost:5000/api/users/1Body (raw JSON):
Test Route DELETE
/api/users/:id:Method: DELETE
URL:
http://localhost:5000/api/users/1
8. Menjalankan Server
Di folder /presensi-app/backend:
Langkah Selanjutnya
Buat file
/presensi-app/backend/config/db.jsuntuk koneksi MongoDBBuat file
/presensi-app/backend/models/User.jsuntuk model UserBuat file
/presensi-app/backend/controllers/userController.jsuntuk logicBuat file
/presensi-app/backend/middleware/auth.jsuntuk authentication
Last updated
Was this helpful?