← Semua track
🟢

Node.js & Express

REST API, auth, dan keamanan — jalur startup & kerja remote.

±70 jam · 0/65 selesai (0%)

💡 Saran (bukan syarat): sebaiknya selesaikan dulu JavaScript, TypeScript, Git & GitHub. Tapi semua materi tetap terbuka — kamu yang menentukan.

Modul 1: Node.js Runtime & npm

JavaScript keluar dari browser: file system, module, dan ekosistem npm.

7 bab dalam modul ini
  1. 1.1Apa itu Node.js & bedanya dengan browser
  2. 1.2Module system: ESM di Node
  3. 1.3npm: package.json, scripts, dependencies vs devDependencies
  4. 1.4File system (fs/promises) & path
  5. 1.5Environment variable & dotenv
  6. 1.6Event emitter & stream (pengenalan)
  7. 1.7nodemon/tsx untuk development

Modul 2: Express Dasar

Server HTTP pertamamu: route, middleware, dan siklus request-response.

7 bab dalam modul ini
  1. 2.1Setup Express + TypeScript
  2. 2.2Route: method, path, handler
  3. 2.3Request: params, query, body (express.json)
  4. 2.4Response: status, json, header
  5. 2.5Middleware: konsep next() & urutan eksekusi
  6. 2.6Router untuk memecah endpoint
  7. 2.7Static file & 404 handler

Modul 3: Desain REST API

Konvensi yang membuat API-mu mudah dipakai tim lain — skill diskusi arsitektur.

7 bab dalam modul ini
  1. 3.1Resource & penamaan endpoint yang benar
  2. 3.2HTTP method semantik: GET/POST/PUT/PATCH/DELETE
  3. 3.3Status code yang tepat (bukan 200 untuk semuanya)
  4. 3.4Struktur response konsisten: data, error, meta
  5. 3.5Versioning API
  6. 3.6Pagination, filtering, sorting
  7. 3.7Idempotency & kenapa penting

Modul 4: Database dengan Prisma

Menghubungkan API ke PostgreSQL dengan type-safety penuh.

6 bab dalam modul ini
  1. 4.1Prisma schema & migrate
  2. 4.2CRUD dengan Prisma Client
  3. 4.3Relasi & nested query
  4. 4.4Transaction
  5. 4.5Seeding & Prisma Studio
  6. 4.6Pola repository: memisahkan akses data dari route

Modul 5: Autentikasi & Otorisasi

JWT vs session dengan jujur: trade-off, bukan dogma.

6 bab dalam modul ini
  1. 5.1Hash password dengan bcrypt/argon2 (jangan pernah plain text)
  2. 5.2JWT: sign, verify, expiry, refresh token
  3. 5.3Session + cookie sebagai alternatif
  4. 5.4Middleware auth & role-based access
  5. 5.5httpOnly cookie vs localStorage untuk token
  6. 5.6Logout & token revocation

Modul 6: Validasi & Error Handling

API production tidak pernah percaya input — dan tidak pernah bocorkan stack trace.

6 bab dalam modul ini
  1. 6.1Validasi body/params dengan Zod
  2. 6.2Error handler terpusat di Express
  3. 6.3Custom error class (NotFoundError, ValidationError)
  4. 6.4async error & pola wrapper
  5. 6.5Logging terstruktur (pino)
  6. 6.6Pesan error untuk user vs untuk developer

Modul 7: File Upload & Email

Dua kebutuhan yang muncul di hampir setiap proyek nyata.

5 bab dalam modul ini
  1. 7.1Upload dengan multer & validasi file
  2. 7.2Menyimpan ke disk vs object storage (S3-compatible)
  3. 7.3Kirim email (nodemailer) & template
  4. 7.4Background job sederhana untuk tugas lambat
  5. 7.5Serving file dengan aman

Modul 8: Testing API

Integration test dengan supertest: kontrak API yang terjaga.

5 bab dalam modul ini
  1. 8.1Unit vs integration test untuk API
  2. 8.2supertest: request & assert response
  3. 8.3Test database terpisah & cleanup
  4. 8.4Menguji auth flow lengkap
  5. 8.5Coverage yang bermakna (bukan angka 100%)

Modul 9: Keamanan Dasar

OWASP untuk pemula: lubang yang paling sering menghancurkan aplikasi junior.

7 bab dalam modul ini
  1. 9.1SQL injection & kenapa ORM/parameterized query menyelamatkan
  2. 9.2XSS & sanitasi output
  3. 9.3CORS: paham betulan, bukan copy-paste
  4. 9.4Rate limiting & brute force protection
  5. 9.5helmet & security header
  6. 9.6Secrets management: jangan commit .env
  7. 9.7Checklist keamanan sebelum deploy