Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Backend Development with Express.js

Backend Development with Express.js

Fikih Firmansyah

January 13, 2024
Tweet

More Decks by Fikih Firmansyah

Other Decks in Technology

Transcript

  1. Introduction • Backend Engineer at Xtend Indonesia • CTO of

    TestMate • Member of Indonesian Bioinformatics and Biodiversity Society • Google Developer Groups Medan • Open source enthusiast and Communities Fellow • Tech Background: Backend stuff, IaaS & PaaS Cloud, DevOps, more at https://fikihfirmansyah.my.id
  2. Table of Contents 1. Pembukaan 2. Pengenalan Express.js 3. Dasar-Dasar

    API 4. Membangun API dengan Express.js 5. Praktik: Membuat Aplikasi CRUD 6. Autentikasi dalam Express.js 7. Sesi Tanya Jawab 8. Penutupan
  3. Introduction Memiliki keunggulan dalam menangani I/O secara efisien, sehingga cocok

    untuk aplikasi yang membutuhkan banyak interaksi dengan data. Runtime environment JavaScript yang dapat dijalankan di luar browser. Digunakan untuk mengembangkan aplikasi server-side, seperti web server, API, dan aplikasi real-time. Apa itu Node JS?
  4. Introduction Node.js memiliki keunggulan dalam menangani I/O secara efisien, sehingga

    cocok untuk aplikasi yang membutuhkan banyak interaksi dengan data. What Is Node.js Used For? Aplikasi e-commerce membutuhkan Node.js untuk menangani interaksi dengan database, seperti menyimpan data produk, pemesanan, dan pembayaran. Aplikasi media sosial membutuhkan Node.js untuk menangani interaksi dengan pengguna, seperti mengirim pesan, mengunggah foto, dan mengomentari postingan. Node.js juga dapat digunakan untuk mengembangkan berbagai jenis aplikasi lainnya, seperti: Aplikasi web server Aplikasi API Aplikasi streaming Aplikasi game Node.js adalah platform yang serbaguna dan cocok untuk berbagai jenis aplikasi.
  5. Pengenalan Express.js Menyediakan berbagai fitur untuk mempermudah pengembangan aplikasi web,

    seperti routing, middleware, dan template engine. Framework web untuk Node.js yang digunakan untuk mengembangkan aplikasi web dan API. Berbasis pada arsitektur MVC, yang membagi aplikasi menjadi tiga bagian: model, view, dan controller. Apa itu Express JS?
  6. Pengenalan Express.js Bayangkan kamu sedang membangun aplikasi web yang membutuhkan

    fitur-fitur dasar seperti routing, request handling, dan pengiriman response. Express.js adalah pilihan yang tepat untuk aplikasi tersebut. Express.js menyediakan berbagai fitur dasar yang dibutuhkan untuk mengembangkan aplikasi web, sehingga dapat menghemat waktu dan tenagamu. What Is Express.js Used For? Berikut adalah beberapa contoh fitur yang disediakan oleh Express.js: • Routing untuk mengarahkan permintaan HTTP ke function yang sesuai. • Middleware untuk menambahkan fungsionalitas tambahan ke aplikasi. • Template engine untuk menghasilkan tampilan halaman web. • Database connection pools untuk meningkatkan kinerja aplikasi. Fitur-fitur tersebut dapat membantu Kamu mengembangkan aplikasi web yang lebih cepat, lebih efisien, dan lebih mudah di-maintenance.
  7. Dasar-Dasar API Definisi Singkat: • API (Application Programming Interface)adalah set

    aturan dan protokol untuk membangun dan berinteraksi dengan perangkat lunak aplikasi. • Berfungsi sebagai 'jembatan' yang memungkinkan perangkat lunak yang berbeda berkomunikasi satu sama lain. Manfaat Utama: • Integrasi & Konektivitas: Memudahkan integrasi berbagai layanan dan aplikasi, meningkatkan fungsionalitas dan efisiensi. • Keamanan & Kontrol: Menyediakan akses terkontrol ke sumber daya, melindungi data dan sistem dari akses yang tidak sah. • Skalabilitas: Memudahkan penambahan fitur atau layanan baru tanpa mengganggu sistem yang ada. Apa itu API?
  8. Dasar-Dasar API Permintaan (Request): • Aplikasi klien mengirimkan permintaan ke

    server API melalui HTTP. • Permintaan ini biasanya berisi informasi seperti: Jenis data yang dibutuhkan dan parameter lain. Pemrosesan (Processing): • Server API menerima permintaan dan memprosesnya. • Server API mengakses data yang dibutuhkan dari database atau sumber lainnya. Respons (Response): • Server API mengirimkan respons kembali ke aplikasi klien. • Respons ini biasanya berisi data yang diminta dalam format JSON atau XML. Pemanfaatan Data (Integration): • Aplikasi klien menerima respons dan mengintegrasikan data ke dalam tampilan atau fungsinya. Apa itu API?
  9. Dasar-Dasar API • Melihat peta dan mendapatkan petunjuk arah di

    aplikasi peta (Google Maps API) • Mengirim pesan instan dan berbagi foto di aplikasi chat (WhatsApp API) • Memesan makanan secara online (GrabFood API) • Melakukan pembayaran digital (GoPay API) • Mengakses media sosial (Twitter API) • Mendapatkan berita dan informasi terkini (Berita API) Contoh Penggunaan API
  10. Dasar-Dasar API Komponen Utama: • Endpoint: Alamat unik dimana API

    dapat diakses. • Request: Permintaan yang dikirim untuk mendapatkan data atau melakukan aksi. • Response: Jawaban yang diterima setelah request diproses. Metode HTTP dalam API: • GET: Untuk mengambil data. • POST: Untuk mengirimkan data baru. • PUT/PATCH: Untuk memperbarui data. • DELETE: Untuk menghapus data. Format Data: • Umumnya menggunakan JSON (JavaScript Object Notation) atau XML (eXtensible Markup Language) untuk transfer data. Keamanan: • Otentikasi dan otorisasi untuk memastikan keamanan data dengan Penggunaan token atau kunci API.
  11. Membangun API dengan Express.js Instalasi: npm install express const express

    = require('express'); const app = express(); Routing: - GET: app.get('/path', callback); - POST: app.post('/path', callback); - PUT/PATCH: app.put('/path', callback); - DELETE: app.delete('/path', callback); Menjalankan Server: app.listen(3000, () => console.log('Server berjalan di port 3000')); Contoh Endpoint: app.get('/api/users', (req, res) => { res.send('Daftar Pengguna'); });
  12. Autentikasi dalam Express.js Autentikasi adalah proses memverifikasi identitas pengguna. Autentikasi

    diperlukan untuk melindungi API dari akses yang tidak sah. Express.js menyediakan berbagai cara untuk menerapkan autentikasi. const express = require('express'); const jwt = require('express-jwt'); const app = express(); app.use(jwt({ secret: 'my-secret' })); app.get('/', (req, res) => { // Hanya pengguna yang diautentikasi yang dapat mengakses rute ini });