Repository ini dirancang untuk memandu kelas intermediateJS batch-0. Setiap branch mewakili meet yang berbeda dengan topik dan konsep yang sesuai rancangan awal kurikulum.
Branch: meet-1
- Pengenalan Node.js : Sejarah, tujuan, dan alasan dibuatnya Node.js.
- Aplikasi Node.js sederhana : Pengenalan framework dan modul Node.js.
- Git dasar : Penggunaan
.gitignore
dan GitHub Desktop. - Pengenalan REST API dan Insomnia : Penggunaan dasar Insomnia.
- Pengenalan pekerjaan di bidang teknologi.
Branch: meet-2
- Setup Awal : Menginstal Express.js, Menjalankan aplikasi Express.js pertama
- Library-App : Membangun aplikasi sederhana untuk mengelola buku, Mendefinisikan model data, Menangani permintaan HTTP (GET, POST, PUT, DELETE), Menerapkan CRUD (Create, Read, Update, Delete) tanpa database
- Express Intro : Konsep dasar Express.js, Menangani rute dan permintaan, Middleware dan error handling
- REST API & CRUD no DB (http method) : Memahami prinsip-prinsip REST API, Menerapkan CRUD tanpa database menggunakan metode HTTP
Branch: meet-3
- Pengenalan Database SQL dengan Excel : Memahami konsep dasar database SQL melalui aplikasi seperti Excel. Ini membantu dalam memahami struktur tabel dan relasi antar data sebelum beralih ke sistem manajemen database yang sesungguhnya.
- Mengenal Tipe Data dalam Database : Mempelajari berbagai tipe data yang digunakan dalam database, seperti INTEGER, VARCHAR, BOOLEAN, dan lainnya, yang penting untuk menyimpan data dengan tepat.
- Menambahkan Tabel Buku : Langkah praktis dalam membuat tabel untuk manajemen buku dalam database, yang melibatkan mendefinisikan skema tabel dan jenis data untuk setiap kolom.
- Pengenalan NeonDB : NeonDB adalah contoh sistem manajemen database yang mungkin dibahas untuk memberikan gambaran tentang bagaimana database bisa diakses dan dimanipulasi secara online.
- Pengenalan Prisma : Prisma adalah sebuah Object-Relational Mapping (ORM) tool yang memudahkan interaksi dengan database melalui kode yang lebih dekat dengan bahasa pemrograman daripada perintah SQL mentah.
- Implementasi Database dalam CRUD Terakhir : Mengintegrasi pengetahuan database yang telah dikumpulkan ke dalam operasi CRUD yang sebelumnya hanya dilakukan tanpa penyimpanan data yang persisten.
- Pengantar HTTP Response : Memahami berbagai jenis respons HTTP, seperti 200 OK untuk sukses, 404 Not Found untuk data yang tidak ditemukan, dan 500 Internal Server Error untuk kesalahan server.
Branch: meet-4
- Sprate implement basic MVC file structure : memahami konsep MVC dimulai dari memisahkan komponen aplikasi menjadi model, view, dan controller untuk mengikuti pola desain MVC (Model-View-Controller).
- Add user table : Menambahkan tabel user dalam database untuk mengelola informasi user, yang berisi property email, dan password
- JSON Web Tokens (JWT) dan Hash : Memahami konsep Enkripsi dan Hashing
- Login Register : Implementasi fitur Login dan Register sederhana menggunakan JWT
- .env : Memahami konsep file
.env
untuk mengatur variabel seperti kunci rahasia, alamat database, dan konfigurasi lainnya. - Data Validation : Memahami memvalidasi data yang diterima dari pengguna sebelum memprosesnya.`
Branch: meet-4.5
- Debugging 5W + 1H : Memahami dan menerapkan proses debugging serta mencari jawaban atas error yang di dapat dan belajar membaca error di terminal
- Add Update Book : Menambahkan Fitur Update buku berdasarkan id buku yang ingin di Update
- Add relation between user with Book (one to many) : Memahami konsep data relation dalam database sql dan implementasi one to many untuk table user dengan book diamana satu user dapat memiliki banyak buku.
- Auth with http req header with bearer token JWT (middleware) : Membangun fitur authentication dengan token login user dengan JWT dan mengimplementasikan mekanisme authentication dengan middleware
- New App Flow : Memahami flow dari app yang kita buat, bagaimana alur dari route, hingga sampai di function yang di eksekusi