Appearance
Roadmap Belajar NestJS
Roadmap ini memetakan perjalanan kursus dari membuat REST API sederhana sampai aplikasi yang lebih siap produksi. Bacalah dari atas ke bawah, karena setiap chapter menambahkan lapisan penting di atas chapter sebelumnya.
text
Fondasi Aplikasi
|
|-- Chapter 1: Module, Controller, Service, DTO, CRUD
|
Validasi dan Kualitas Input
|
|-- Chapter 2: Pipes, class-validator, exception handling
|
Persistensi Data
|
|-- Chapter 3: PostgreSQL, TypeORM, entity, repository, query builder
|
Keamanan Pengguna
|
|-- Chapter 4: Signup, signin, bcrypt, JWT, Passport
|-- Chapter 5: Ownership, relation, data isolation
|
Kesiapan Produksi
|
|-- Chapter 6: Logging
|-- Chapter 7: Configuration management
|
Kepercayaan Saat Refactor
|
|-- Chapter 8: Unit testing, mocking, async testsPola Besar yang Perlu Diingat
| Lapisan | Pertanyaan yang Dijawab | Chapter Terkait |
|---|---|---|
| Arsitektur | Di mana request masuk, di mana logika bisnis hidup? | 1 |
| Validasi | Bagaimana memastikan input valid sebelum diproses? | 2 |
| Data | Bagaimana data tersimpan permanen dan dicari efisien? | 3 |
| Identitas | Siapa user yang sedang mengakses sistem? | 4 |
| Akses | Apakah user ini berhak membaca atau mengubah data ini? | 5 |
| Observability | Bagaimana memahami perilaku aplikasi saat berjalan? | 6 |
| Konfigurasi | Bagaimana nilai berubah antar environment tanpa mengubah kode? | 7 |
| Testing | Bagaimana membuktikan logika tetap benar setelah perubahan? | 8 |
Urutan Belajar yang Disarankan
- Baca Chapter 1 sampai selesai untuk mendapatkan bahasa dasar NestJS: module, controller, service, DTO, dan decorator.
- Lanjutkan Chapter 2 agar API tidak hanya bisa menerima request, tetapi juga bisa menolak input yang salah dengan response yang jelas.
- Masuk ke Chapter 3 untuk mengubah aplikasi dari in-memory menjadi persistent dengan PostgreSQL dan TypeORM.
- Pelajari Chapter 4 dan 5 sebagai satu paket keamanan: autentikasi membuktikan siapa user, otorisasi menentukan data mana yang boleh disentuh user.
- Tutup dengan Chapter 6 sampai 8 untuk aspek production-readiness: logging, konfigurasi multi-environment, dan unit testing.
Checklist Kompetensi
Gunakan checklist ini setelah selesai membaca semua chapter.
- Saya bisa menjelaskan alur request dari controller ke service lalu repository.
- Saya tahu kapan memakai DTO, entity, enum, dan repository.
- Saya paham perbedaan authentication dan authorization.
- Saya tahu mengapa password harus di-hash dengan salt, bukan disimpan apa adanya.
- Saya bisa menjelaskan mengapa query ownership harus menyertakan user.
- Saya paham mengapa configuration secret tidak boleh hardcoded.
- Saya bisa menulis unit test untuk service yang bergantung pada repository mock.