Tutorial NodeJS RESTful API (Bahasa Indonesia)

  Рет қаралды 43,277

Programmer Zaman Now

Programmer Zaman Now

Күн бұрын

Hi teman-teman, di video ini kita akan belajar studi kasus membuat RESTful API menggunakan NodeJS, MySQL, Prisma dan ExpressJS
#programmerzamannow #nodejs #restfulapi
Slide : docs.google.com/presentation/...
Source Code : github.com/ProgrammerZamanNow...
Materi Video :
00:00:00 - Pendahuluan
00:01:59 - Requirement
00:02:57 - User Management Requirement
00:04:25 - Contact Management Requirement
00:05:34 - Address Management Requirement
00:06:39 - Membuat Project
00:17:41 - User API Spec
00:30:12 - Contact API Spec
00:38:56 - Address API Spec
00:46:14 - Setup Database
00:48:20 - User Model
00:53:26 - Contact Model
00:57:59 - Address Model
01:02:10 - Setup Project
01:09:44 - Register User API
01:37:48 - Login User API
01:54:36 - Get User API
02:06:28 - Update User API
02:18:21 - Logout User API
02:25:19 - Create Contact API
02:36:13 - Get Contact API
02:46:02 - Update Contact API
02:56:09 - Remove Contact API
03:02:42 - Search Contact API
03:25:50 - Create Address API
03:40:37 - Get Address API
03:50:01 - Update Address API
04:00:56 - Remove Address API
04:06:49 - List Address API
04:11:34 - Manual Test
04:24:48 - Materi Selanjutnya
JOIN PREMIUM : kzbin.info...
DISCORD PREMIUM : • Post
Donasi :
Saweria : saweria.co/ProgrammerZamanNow
Social Media :
Instagram : / programmerzamannow
Facebook : / programmerzamannow
Telegram : t.me/ProgrammerZamanNow
KZbin : / programmerzamannow

Пікірлер: 90
@mastikaketut9923
@mastikaketut9923 Жыл бұрын
sebaiknya validation di buat function spt di tutorial ini, yg mana di panggil di setiap service atau di buat middleware aja ya mas? jd di panggil di route.. contoh penggunaan misalnya: route.get("api/user", [validate(schema)], getUser)
@ProgrammerZamanNow
@ProgrammerZamanNow Жыл бұрын
saya tidak terlalu suka bikin validation di controller / middleware, lebih suka di lever service / use case kenapa? karena request itu gak masuk dari controller aja, kalo misal kita punya layer message broker listener, atau GRPC, artinya input bisa masuk dari yang bukan controller, dan pada kasus ini, gak lucu harus kita buat validasi yang sama kayak di controller kalo disimpan di service/ use case, otomatis mau input request dari manapun, udah gak khawatir lagi, karena semua pasti di validasi oleh service / use case
@mastikaketut9923
@mastikaketut9923 Жыл бұрын
@@ProgrammerZamanNow mmmhh mantap jadi ada reasoning yg jelas untuk kasus ini, thanks mas udah di respon, tadi nya cuma kepikiran lebih simple aja, lupa memikirkan case2 yg lain. 🙏
@mastikaketut9923
@mastikaketut9923 Жыл бұрын
@@ProgrammerZamanNow maaf mas, nyambung tanya masalah validasi ini.. di service kan saya liat ada beberapa pengecekan ke table ya. untuk proses Delete misalnya 1. proses validasi parameter/data body kalau sukses lakukan pengecekan selanjutnya 1. ngecek dulu apakah id yg dikirim ada di table 2. apakah id tersebut boleh di delete dgn syarat2 tertentu. kebetulan saya pake zod mas, di schema zod kan bisa juga dilakukan pengecekan2 spt itu dgn fasilitas .refine() menurut mas, apakah ideal dan masih rekomended proses pengecekan ke table dilakukan di saat validasi schema? atau sebaiknya tetep di pisah aja sesuai dgn step2 diatas? untuk saat ini, validasi sudah saya pindahkan ke bagian service.
@ProgrammerZamanNow
@ProgrammerZamanNow Жыл бұрын
@@mastikaketut9923 kalo saya biasanya membedakan ada validation biasa sama business logic validation, kalo sampai cek db, itu biasanya business logic validation
@mastikaketut9923
@mastikaketut9923 Жыл бұрын
@@ProgrammerZamanNow ohhh berarti kalo sekedar misalnya data nggak boleh di hapus atau di update krn kondisi tertentu, itu mending langsung di level service validation aja ya mas? 🙏 btw, thanks mas jadi ada bayangan buat melakukan refactoring code biar lebih rapi dan terstruktur lagi
@ferdifirmansyah7895
@ferdifirmansyah7895 Жыл бұрын
wah mantap, materi yang ditunggu-tunggu nih, restfull api node js from scratch
@ikadekagussuartawan6577
@ikadekagussuartawan6577 Жыл бұрын
mantap, perbanyak materi yang pake studi kasus seperti ini pak
@penapemuda9294
@penapemuda9294 Жыл бұрын
wih di tunggu mongodb, makasih banyak pak
@agungeka9281
@agungeka9281 8 ай бұрын
Benar-benar sangat membantu. Semoga mas Eko selalu sehat sehingga dapat membuat tutorial-tutorial bermanfaat terus. Terima kasih mas!
@siyayat
@siyayat Жыл бұрын
Mantuls.... 👍
@axzphere03
@axzphere03 Жыл бұрын
Mantap, sehat terus pak eko
@TahuCoding
@TahuCoding Жыл бұрын
Terbaik!!!
@WargaSipilll
@WargaSipilll Жыл бұрын
langsung lanjut typescript pak eko 😁 melihat vanilla js sudah merieur😅
@dandisarpinusgea6088
@dandisarpinusgea6088 Жыл бұрын
Mantap pak eko.
@10.leaalyumaulanar83
@10.leaalyumaulanar83 Жыл бұрын
Bikin turorial Djago untuk pemula sampai mahir pakk, sepertinya banyak yang mau belajar Djago
@prantosuwarno2733
@prantosuwarno2733 Жыл бұрын
mantap pak eko
@fatkur
@fatkur Жыл бұрын
mantab sekali pak ekoo!!!
@fathur208
@fathur208 Жыл бұрын
mantap pak Eko
@fadelmuhammad2910
@fadelmuhammad2910 11 ай бұрын
Ntap
@timpenguin16
@timpenguin16 Жыл бұрын
Menarik juga pake prisma biasanya aku pake nya sequelize
@muzackyhadiansyah3775
@muzackyhadiansyah3775 Жыл бұрын
@alexmarco2392
@alexmarco2392 Жыл бұрын
🎉
@marionpratt2906
@marionpratt2906 11 ай бұрын
Pak kalo boleh request buat video test menggunakan mock db
@fazrulsahi7998
@fazrulsahi7998 Жыл бұрын
keempaxx
@muhammadyota7793
@muhammadyota7793 Жыл бұрын
first🎉
@rajuydr
@rajuydr Жыл бұрын
pak kelebihan / kekurangan sequelize dan prisma tu apa ya, dan yang paling sering di gunakan di industri itu apa
@ariefbudiman6167
@ariefbudiman6167 Жыл бұрын
Bang prisma ORM bisa handle query function ga. contoh where LOWER(), MAX(), EXTRACT() pake ORM bkn rawQuery
@kyoumakazuhito5274
@kyoumakazuhito5274 Жыл бұрын
Kang, apakah jika projectnya besar (misal ada lebih dari 40 tabel) akan dalam 1 file schema.prisma ? best pratice nya seperti apa ya kang
@muhammadmasum8713
@muhammadmasum8713 Жыл бұрын
kang bikin load, smoke test dong kang pake grafana k6
@tricksterjill
@tricksterjill Жыл бұрын
Kang,punten ditunggu pisan untuk java restful api na, nuhun pisan kang, smoga sehat selalu
@ProgrammerZamanNow
@ProgrammerZamanNow Жыл бұрын
Sudah ada di spring restful api
@tricksterjill
@tricksterjill Жыл бұрын
@@ProgrammerZamanNow baik kang, haturnuhun info na
@flashnao4360
@flashnao4360 Жыл бұрын
pertamax
@lordkazuma3276
@lordkazuma3276 10 ай бұрын
pak kalau di di vscode cara koneksi databasenya gimana ya?
@maxxy-r3q
@maxxy-r3q 10 ай бұрын
mau nanya pak, saya masih pemula. itu databasenya kok bisa banyak opsi gtu make extention atau gimana ya??
@indramaulanaxit
@indramaulanaxit 11 ай бұрын
[pertanyaan] 1:35:54 balikan dari joi type nya text/html. ada yang bisa bantu jawab?
@ridwanr12
@ridwanr12 5 ай бұрын
kalau sudah dibuat seperti ini, selanjutnya agar bisa di test di postman gimana mas? atau setelahnya sampai engga di local aja gimana mas?
@mucamadsupriyanto854
@mucamadsupriyanto854 5 ай бұрын
kang punten, saya mau tanya untuk testingnya . di expect(result.status).toBe(400); expect(result.body.errors).toBeDefined(); nahh si errors ini tidak medefinisikan atau undifined . saat saya tidak pake errors jalan dengan baik . apa sebaiknya saya engga pake gpp kang ?
@azizahmad5369
@azizahmad5369 2 ай бұрын
cara running di vsc gmn ya bang ?
@putraramadhan6067
@putraramadhan6067 Жыл бұрын
Mas kalo boleh memberikan saran, setelah penjelasan video dan materi yang di beberkan agar pemula seperti saya ga bingung dan ga gampang lupaa, coba tolong kasih tugas sesuai materi di setiap video, sudah sangat lengkap sekali videonya dan sangat sangat membantu terima kasih sekali lagi 🙏🙏
@dzulfiqarzaky5557
@dzulfiqarzaky5557 Жыл бұрын
bikin lagi aja mas studi kasus yang sama kaya di video ini tapi ga boleh nyontek ke video nya atau code sebelum nya. kalo stuck atau error coba baca dokumentasi langsung. pasti nambah ilmu nya jauh lebih cepet dari pada code along gini. karena dari struktur folder nya untuk aplikasi skala besar buat company grade, yang di jelasin di video ini udah sangat cukup menurutku. kita juga ga mungkin nungguin video baru keluar kalo tiba tiba ada update dari masing masing dependency yang di pakai di video ini.
@user-gv6ht1ko3j
@user-gv6ht1ko3j Жыл бұрын
Bang, bikin tutroial tentang automation api pake Jest dong
@ProgrammerZamanNow
@ProgrammerZamanNow Жыл бұрын
Udah ada materi di kelas javascript
@samtole_find1187
@samtole_find1187 6 ай бұрын
izin bertanya apakah ini standar dari BE di perusahaan?? mohon dijawab karena saya pakai di kampus beda banget hehe izin sharinganya para suhu masih pemula saya atuh
@renaldyrizkimaulana4873
@renaldyrizkimaulana4873 26 күн бұрын
mas eko, kenapa ketika cek email ketika registrasi pake fungsi count? bukannya kl pake count nnt bakal cek semua data di db sampe selesai dulu?
@zuzzubaid2897
@zuzzubaid2897 Жыл бұрын
kelas LARAVEL DATABASE kapan tayangnya? udah ditunggu kelas berbayar😁
@btcmining5068
@btcmining5068 Жыл бұрын
Keduax
@alwy_cheezy75
@alwy_cheezy75 Жыл бұрын
Wow style koding yang sangat berbeda ketika membuat REST API, saya aja bingung baru pernah liat koding style ginian buat rest api
@ProgrammerZamanNow
@ProgrammerZamanNow Жыл бұрын
Ngikutin style nya nestjs
@fathur208
@fathur208 Жыл бұрын
mau tanya pak kalo user not found itu baiknya status 404 atau 200 pak? karena dapet masukan dari rekan kerja kalo 404 itu Page Not Found (bisa juga url/endpoint not found), sedangkan kalo data gk ada itu tetep 200.
@ProgrammerZamanNow
@ProgrammerZamanNow Жыл бұрын
kalo resource not found itu harusnya 404, kalo search balikin empty, tetep 200
@mustofa_id
@mustofa_id Жыл бұрын
pak Eko kenapa ga pake randomUUID() dari "node:crypto"? ada alasan khusus kah install paket "uuid"?
@ProgrammerZamanNow
@ProgrammerZamanNow Жыл бұрын
biar lebih simple aja
@indramaulanaxit
@indramaulanaxit 11 ай бұрын
[pertanyaan] saya mengalami problem testing yang ketika saya trace ternyata balikan dari supertestnya selalu 404. saya coba browse ternyata banyak hal serupa yang dialami, btw saya pakai linux. ada yang punya solusi? mohon pencerahanya
@ProgrammerZamanNow
@ProgrammerZamanNow 11 ай бұрын
clone source code saya aja di deskripsi
@aliif
@aliif Жыл бұрын
ketigax
@tnnz9920
@tnnz9920 11 ай бұрын
mas eko generate tokennya lebih bagusan mke uuid daripada jwt ya?
@ProgrammerZamanNow
@ProgrammerZamanNow 11 ай бұрын
Bebas apa aja
@bagasanggara2409
@bagasanggara2409 Жыл бұрын
pak eko, bedanya kursus yg di youtube dan udemy apa ya ? nuhun
@ProgrammerZamanNow
@ProgrammerZamanNow Жыл бұрын
Udemy lebih lengkap
@wisnusaputra9846
@wisnusaputra9846 Жыл бұрын
mas eko text editor yang di pakai namanya apa?
@ni_za_ru
@ni_za_ru Жыл бұрын
Bantu jawab. Text Editor nya itu jetbrains webstrom
@none7972
@none7972 7 ай бұрын
mau tanya pak , ini bisa diaplikasikan backend Android kotlin ? terima kasih
@faraadevianaa2062
@faraadevianaa2062 5 ай бұрын
Ini bisa buat backend Android kah bang ?
@none7972
@none7972 5 ай бұрын
@@faraadevianaa2062 bisa kok
@ibnBasuki
@ibnBasuki 11 ай бұрын
Kenapa `Authorization` header nya ga pakai `Bearer ` sebelum token ?
@ProgrammerZamanNow
@ProgrammerZamanNow 11 ай бұрын
karena bukan OAuth
@helmimidut1989
@helmimidut1989 11 ай бұрын
@@ProgrammerZamanNowpunten kang, bedanya Oauth dan auth biasa apa ya?
@kkebo
@kkebo Жыл бұрын
kenapa ga pake typescript pak?
@ProgrammerZamanNow
@ProgrammerZamanNow Жыл бұрын
Kan kelas js
@Masdik996
@Masdik996 Жыл бұрын
halo selamat pagi mas. bisa request untuk konten selanjutnya ga? saya salah satu yang sreing nonton di youtube mas untuk programing. next java pake framework vaadin mas. saya agak kesulitan untuk mencari tutorialnya di indonesia mas terima kasih mas
@ProgrammerZamanNow
@ProgrammerZamanNow Жыл бұрын
vaadin kayaknya udah jarang yang pake sekarang
@esdegan7176
@esdegan7176 Жыл бұрын
.NET pak
@crystalezordgames6401
@crystalezordgames6401 5 ай бұрын
Izin pak, kok tidak ada penerapan pincipal caching? atau saya yang gagal paham ya? hehe
@ProgrammerZamanNow
@ProgrammerZamanNow 5 ай бұрын
caching itu gak wajib dipake, ketika butuh aja, misal aplikasi kamu lambat waktu query ke database
@crystalezordgames6401
@crystalezordgames6401 5 ай бұрын
@@ProgrammerZamanNow tapi masih bisa disebut sebagai truly restful api pak?
@danidanial2218
@danidanial2218 9 ай бұрын
Kalau mau nambahin photo gimana ya mas ??? ada yg bisa bantu ?
@ProgrammerZamanNow
@ProgrammerZamanNow 9 ай бұрын
tinggal upload sebagai base64 string
@danidanial2218
@danidanial2218 9 ай бұрын
Pake Multet atau Express file upload??? Terus nanti dikirim pake base64 gitu ??? Duhhh masih belum mudeng...
@danidanial2218
@danidanial2218 9 ай бұрын
Please tambahin donk mas tutor nya... Butuh banget 😭😭😭
@bluecattss
@bluecattss 9 ай бұрын
@@danidanial2218 buat kerjaan ye bang ?
@bagaszzn
@bagaszzn Жыл бұрын
Kang mau nanya sekarang bahasa pemrograman yang utama akang pake apa ya?
@ProgrammerZamanNow
@ProgrammerZamanNow Жыл бұрын
java, golang, typescript
@akbarhday
@akbarhday Жыл бұрын
Editornya pake apa ya ini?
@boniedwin
@boniedwin Жыл бұрын
jetbrains webstorm
@akbarhday
@akbarhday Жыл бұрын
@@boniedwin ok thx
@azizahmad5369
@azizahmad5369 2 ай бұрын
file:///C:/Users/Ahmad%20Aziz%20Bin%20Agus/OneDrive/Documents/project/belajar-nodejs-restful-api/test/user.test.js:6 describe('POST /api/users', function () { ^ error disini mohon bantuannya dong
@shabrinanurdianis8052
@shabrinanurdianis8052 Ай бұрын
sama, udah solve blm bang?
@zerkyyulyandri1663
@zerkyyulyandri1663 Жыл бұрын
Mantap pak eko
Best Practice untuk Response API
24:43
Programmer Zaman Now
Рет қаралды 52 М.
Best Practice untuk API Error | PZN Reaction
30:49
Programmer Zaman Now
Рет қаралды 14 М.
DO YOU HAVE FRIENDS LIKE THIS?
00:17
dednahype
Рет қаралды 100 МЛН
마시멜로우로 체감되는 요즘 물가
00:20
진영민yeongmin
Рет қаралды 26 МЛН
Bagaimana Menjadi Backend Developer | PZN Reaction
19:02
Programmer Zaman Now
Рет қаралды 45 М.
Top 5 NodeJS Framework di 2024
11:52
Programmer Zaman Now
Рет қаралды 17 М.
The Harsh Reality of Gaming in New Zealand
12:27
BobbysBored
Рет қаралды 362 М.
JWT Auth: Konsep & Implementasinya (BE & FE) yang Aman 🛡️
16:17
Muhammad Afifudin
Рет қаралды 7 М.
Fitur Baru di Laravel 11 (Bahasa Indonesia)
1:08:07
Programmer Zaman Now
Рет қаралды 16 М.
TUTORIAL NODEJS LOGGING (BAHASA INDONESIA)
1:18:42
Programmer Zaman Now
Рет қаралды 19 М.
TUTORIAL NODEJS DASAR (BAHASA INDONESIA)
3:48:04
Programmer Zaman Now
Рет қаралды 362 М.
Хотела заскамить на Айфон!😱📱(@gertieinar)
0:21
Взрывная История
Рет қаралды 6 МЛН
تجربة أغرب توصيلة شحن ضد القطع تماما
0:56
صدام العزي
Рет қаралды 51 МЛН
Mastering Picture Editing: Zoom Tools Tutorial
0:52
Photoo Edit
Рет қаралды 507 М.
WATERPROOF RATED IP-69🌧️#oppo #oppof27pro#oppoindia
0:10
Fivestar Mobile
Рет қаралды 19 МЛН
Cheapest gaming phone? 🤭 #miniphone #smartphone #iphone #fy
0:19
Pockify™
Рет қаралды 2,2 МЛН
Klavye İle Trafik Işığını Yönetmek #shorts
0:18
Osman Kabadayı
Рет қаралды 3,1 МЛН