Frontend Engineering
Belajar fondasi frontend lewat lesson, quiz, dan coding practice yang langsung bisa dicoba.
Level beginner • Estimasi 450 jam
Module di track ini disusun berurutan. Kamu tetap bisa membuka lesson mana pun, tapi urutan ini membantu konsepnya nyambung.
Urutan track yang disarankan
Memuat progres belajar kamu...
Menyiapkan rekomendasi...
Beginner · Level 1
Web Foundations
Memahami cara kerja web, browser, website, dan alur belajar frontend.
Module
1
Lesson
7
Progres
Memuat...
Memuat progres level...
Beginner · Level 2
HTML and Accessibility Foundations
Membangun struktur halaman web yang semantic, accessible, dan siap diberi style.
Module
3
Lesson
15
Progres
Memuat...
Memuat progres level...
Module 2
HTML Basics
8 jamBelajar struktur dasar halaman HTML, tag, element, attribute, dan konten dasar halaman.
Module 3
Semantic HTML
5 jamBelajar memilih elemen HTML berdasarkan makna dan struktur halaman.
Module 4
Forms and Basic Accessibility
8 jamBelajar dasar form, link vs button, label, input, alt text, dan aksesibilitas awal.
Beginner · Level 3
CSS Fundamentals and Layout
Membuat tampilan web yang rapi, responsive, dan siap dipakai untuk project lokal.
Module
5
Lesson
24
Progres
Memuat...
Memuat progres level...
Module 5
CSS Core Mechanics
3 jamPelajari cara CSS memberi tampilan pada HTML melalui selector, property, value, cascade, dan specificity dasar.
Module 6
Box Model and Spacing
3 jamPelajari box model, padding, margin, border, width, height, max-width, dan box-sizing untuk membuat elemen lebih rapi dan mudah dibaca.
Module 7
Local Static Website Project
5 jamBuat dan jalankan website statis sederhana di perangkat sendiri, lalu simpan project dengan Git dan GitHub.
Module 8
Flexbox and Grid Layout
4 jamPelajari cara menyusun elemen menggunakan Flexbox dan Grid untuk membuat navbar, layout sederhana, dan card grid.
Module 9
Responsive Visual System
4 jamPelajari mobile-first CSS, breakpoint dasar, fluid spacing, typography, CSS variables, dan dark mode dasar.
Beginner · Level 4
JavaScript Fundamentals
Menambahkan behavior dan data handling dasar lewat values, functions, arrays, objects, DOM, events, forms, storage, fetch, dan project Vanilla JavaScript lokal.
Module
4
Lesson
22
Progres
Memuat...
Memuat progres level...
Module 10
Values, Types, and Functions
5 jamMulai menulis JavaScript dasar lewat value, variable, function, conditionals, dan loop sederhana.
Module 11
Arrays, Objects, and Data Modeling
5 jamMembentuk data UI sederhana dengan array, object, array of objects, map, dan filter.
Module 12
DOM, Events, Forms, localStorage, and Fetch Basics
6 jamMenghubungkan JavaScript ke halaman browser lewat DOM, event, form, localStorage, fetch, dan JSON dasar.
Module 13
Local Vanilla JavaScript App
7 jamBangun mini app JavaScript di perangkat sendiri dengan HTML, CSS, script.js, DOM event, localStorage, DevTools, Git, dan GitHub.
Intermediate · Level 5
JavaScript Advanced
Mengorganisasi JavaScript dengan scope, closure, module file, async behavior, browser APIs, dan debugging yang lebih terarah.
Module
3
Lesson
17
Progres
Memuat...
Memuat progres level...
Module 14
Scope, Closure, and Modules
5 jamMemahami akses variable, closure untuk state kecil, dan cara memecah Vanilla JavaScript ke module file yang lebih rapi.
Module 15
Async JavaScript and Error Handling
6 jamMenangani Promise, async/await, try/catch, UI state, failed request, dan retry dasar dengan Vanilla JavaScript.
Module 16
Browser APIs, Data Transformation, and Debugging
6 jamMenggunakan Browser API terpilih, merapikan data sebelum render, dan melakukan debugging JavaScript browser dengan strategi yang jelas.
Intermediate · Level 6
TypeScript
Menggunakan TypeScript untuk membuat kode frontend lebih aman lewat local tooling, core types, dan type boundaries yang praktis.
Module
4
Lesson
24
Progres
Memuat...
Memuat progres level...
Module 17
Local Tooling and npm Basics
5 jamMenyiapkan pemahaman Node.js, npm, package.json, scripts, dependencies, dan workflow terminal sebelum masuk TypeScript project.
Module 18
TypeScript Core Types
6 jamMemahami TypeScript sebagai JavaScript dengan type checking untuk values, arrays, objects, functions, optional fields, dan type error dasar.
Module 19
Practical Type Design
6 jamMendesain type TypeScript praktis untuk UI state, branching logic, reusable helpers, dan data modeling frontend yang lebih aman.
Module 20
Typed Frontend Boundaries
6 jamMenggunakan TypeScript di boundary penting frontend: API response, form input, data siap UI, reusable helper, dan type yang tetap mudah dibaca.
Intermediate · Level 7
React Fundamentals
Membangun UI interaktif dengan component, JSX, props, state, events, lists, forms, dan workflow React lokal secara bertahap.
Module
4
Lesson
23
Progres
Memuat...
Memuat progres level...
Module 21
Component Model
5 jamMemahami React component sebagai bagian UI reusable, lalu membangun component tree kecil dengan JSX, props, dan children.
Module 22
State, Events, and Rendering
6 jamMembuat React UI merespons interaksi lewat useState, event handler, conditional rendering, list, keys, dan derived display.
Module 23
Forms and Composition
5 jamMembangun controlled form sederhana, menangani submit, menyusun component kecil, dan memindahkan state saat benar-benar perlu dibagi.
Module 24
Local React App
7 jamMembuat, menjalankan, mengedit, menyimpan, dan menjelaskan React app pertama di perangkat sendiri dengan Vite, TypeScript ringan, Git, dan GitHub.
Intermediate · Level 8
React Intermediate
Mengorganisasi behavior React dengan effects, custom hooks, cleanup browser subscription, dan keputusan state yang lebih terarah.
Module
3
Lesson
15
Progres
Memuat...
Memuat progres level...
Module 25
Custom Hooks and Effects
6 jamMenentukan kapan useEffect benar-benar diperlukan, membersihkan subscription, dan mengekstrak behavior berulang menjadi custom hook kecil.
Module 26
State Strategy
6 jamMemilih lokasi state yang tepat, menghitung value turunan saat render, memakai reducer untuk transisi terkait, dan memakai context hanya saat sharing memang diperlukan.
Module 27
Reusable UI States
6 jamMembangun loading, error, empty, success, dan retry UI yang jelas agar React feature tetap membantu saat data belum siap atau gagal dimuat.
Advanced · Level 9
React Advanced
Membangun UI React yang resilient, terukur, dan reusable lewat recovery, performance judgment, serta composition yang tidak over-engineered.
Module
3
Lesson
15
Progres
Memuat...
Memuat progres level...
Module 28
Resilience and Suspense Basics
6 jamMembuat React feature lebih tahan terhadap render error, memberi fallback yang membantu, memahami lazy loading dengan Suspense, dan menyediakan jalur recovery yang jelas.
Module 29
Performance Awareness
6 jamMemahami biaya render React, mengukur sebelum mengubah kode, lalu memakai memoization hanya untuk masalah yang benar-benar terbukti.
Module 30
Advanced Component Patterns
6 jamMembangun composition, children, slot-like props, compound components, dan form field yang reusable tanpa membuat API component menjadi berlebihan.
Advanced · Level 10
Next.js App Router
Membawa pola React ke struktur aplikasi melalui App Router, route structure, serta batas Server Components dan Client Components yang jelas.
Module
4
Lesson
25
Progres
Memuat...
Memuat progres level...
Module 31
App Directory and Routing
7 jamMemahami bagaimana folder dan file khusus di App Router membentuk page, layout, nested route, dynamic segment, dan route group.
Module 32
Server Components and Client Components
7 jamMenentukan batas server dan client pada App Router agar UI tetap interaktif tanpa menjadikan seluruh route sebagai Client Component.
Module 33
Loading, Error UI, Route Handlers, Metadata, and Env
7 jamMenambahkan perilaku route App Router yang jelas melalui loading UI, error recovery, endpoint GET sederhana, metadata, dan environment variable yang aman.
Module 34
Local Next.js App
8 jamMembuat, menjalankan, mengembangkan, menyimpan, dan menjelaskan Next.js App Router project kecil di perangkat sendiri dengan Git dan GitHub.
Advanced · Level 11
Production Next.js
Menghubungkan Next.js app ke workflow production lewat authentication-aware UI, data persistence, deployment, dan debugging yang aman.
Module
3
Lesson
17
Progres
Memuat...
Memuat progres level...
Module 35
Authentication and Session-Aware UI
6 jamMendesain UI login dan register, navigation berbasis session, akses route yang tepat, serta error state auth yang membantu user tanpa membocorkan detail sensitif.
Module 36
Supabase or Backend Integration
7 jamMenghubungkan Next.js app ke data user dengan client boundary yang tepat, RLS, service layer, persistence flow, dan profile row yang aman untuk tahap awal.
Module 37
Production Operations
7 jamMendeploy Next.js app, menyiapkan environment production, membaca log, membangun mental model caching dasar, dan men-debug deployment secara terarah.
Advanced · Level 12
Forms, Validation, and Data Fetching
Membangun flow form produk lewat schema validation, error yang jelas, submit state, dan keputusan data yang bertahap.
Module
3
Lesson
17
Progres
Memuat...
Memuat progres level...
Module 38
React Hook Form and Zod
7 jamMembangun form React yang terarah dengan registration, schema Zod, resolver, field errors, submit state, dan schema-derived type.
Module 39
Validation UX and Accessible Errors
7 jamMembuat feedback validasi form yang jelas, dapat dipulihkan, dan aksesibel melalui inline error, error summary, focus, pending state, serta success state.
Module 40
Server-State Thinking
6 jamMemisahkan data milik server dari state UI lokal, menampilkan data-fetching state yang jujur, memetakan response API, dan memakai optimistic update secara hati-hati.
Advanced · Level 13
Testing
Menguji behavior frontend penting lewat unit test, component test, user interaction, dan accessible query tanpa bergantung pada implementation detail.
Module
3
Lesson
16
Progres
Memuat...
Memuat progres level...
Module 41
Unit and Component Testing
7 jamMenguji function dan React component melalui behavior, interaksi user, serta accessible UI output tanpa bergantung pada detail implementasi.
Module 42
Integration and API Mocking
7 jamMenguji flow feature yang memakai data async dengan mock API yang jelas, tanpa bergantung pada backend atau credential asli.
Module 43
End-to-End Testing Strategy
7 jamMemilih critical user journey, menulis dasar Playwright, dan menjaga browser test tetap bernilai serta tidak mudah flaky.
Advanced · Level 14
Performance
Mengukur dan mengurangi biaya performance nyata lewat Core Web Vitals, asset cost, bundle awareness, serta rendering decisions yang terarah.
Module
3
Lesson
17
Progres
Memuat...
Memuat progres level...
Module 44
Core Web Vitals
7 jamMembaca sinyal loading, interaksi, dan stabilitas visual untuk memilih perbaikan performance yang benar-benar terasa oleh user.
Module 45
Asset and Bundle Optimization
7 jamMengurangi biaya image, font, dan JavaScript dengan memilih resource serta loading strategy yang sesuai kebutuhan user.
Module 46
Rendering Cost and Hydration
6 jamMenjaga biaya browser tetap proporsional lewat boundary Server dan Client Component yang jelas serta perbaikan render yang terukur.
Advanced · Level 15
Accessibility
Membangun dan mengaudit UI yang tetap dapat dipahami serta dioperasikan dengan keyboard, semantic HTML, dan focus feedback yang jelas.
Module
3
Lesson
18
Progres
Memuat...
Memuat progres level...
Module 47
Semantic Review and Keyboard Navigation
7 jamMeninjau struktur UI, tab order, focus, dan jalan keluar keyboard agar halaman produk dapat dipakai tanpa mouse.
Module 48
Accessible Components
7 jamMembangun component interaktif dengan focus, keyboard behavior, semantic structure, dan ARIA yang proporsional.
Module 49
Accessibility Testing and Preferences
7 jamMenguji issue accessibility umum dan menghormati preference user untuk contrast, form error, motion, serta feedback UI.
Advanced · Level 16
Frontend Architecture
Mengatur feature frontend agar component, service, type, content, dan dependency tetap mudah dipahami saat product berkembang.
Module
3
Lesson
18
Progres
Memuat...
Memuat progres level...
Module 50
Feature-Based Structure and Boundaries
7 jamMengatur feature frontend agar component, service, type, content, dan dependency tetap mudah dipahami saat product berkembang.
Module 51
State and Data Strategy
7 jamMemilih rumah yang tepat untuk data server, state URL, UI lokal, persistence, dan recovery tanpa menjadikan global state sebagai jawaban default.
Module 52
Component API and Documentation
7 jamMerancang props, content contract, contoh penggunaan, dan documentation note agar reusable component tetap jelas bagi engineer berikutnya.
Advanced · Level 17
Design System
Membangun token visual dan UI primitive yang konsisten, jelas, serta tetap dapat diakses saat product berkembang.
Module
3
Lesson
18
Progres
Memuat...
Memuat progres level...
Module 53
Design Tokens and Variants
7 jamMembuat token visual sederhana dan variants yang typed agar Button serta Card konsisten tanpa menumpuk nilai CSS satu kali pakai.
Module 54
Product Components
8 jamMembangun form field, table, dialog, feedback, dan selection control dengan API jelas, state yang terlihat, serta accessibility expectation yang praktis.
Module 55
Storybook and Package Basics
8 jamMendokumentasikan component lewat Storybook, memeriksa state serta accessibility, lalu mengatur export dan changelog tanpa masuk ke publishing package.
Advanced · Level 18
Backend Basics for Frontend Engineers
Membaca API, auth boundary, dan data integration agar frontend dapat terhubung, di-debug, serta dikomunikasikan dengan benar.
Module
3
Lesson
19
Progres
Memuat...
Memuat progres level...
Module 56
API Fundamentals
8 jamMembaca endpoint, request, response, status code, pagination, dan webhook dari sudut pandang frontend integration tanpa membangun backend baru.
Module 57
Auth, Cookies, and Browser Security Boundaries
9 jamMemahami identity, session, cookie, CORS, CSRF, dan secure cookie behavior agar frontend dapat debug auth issue tanpa membuat asumsi keamanan yang berbahaya.
Module 58
Data and Infrastructure Basics
9 jamMembaca data relational, backend platform, cache, dan file upload flow agar frontend dapat mengintegrasikan serta mendiagnosis product data dengan jelas.
Advanced · Level 19
Security Basics
Mengenali risk browser, credential, permission, dan dependency agar frontend memilih default yang lebih aman serta mengkomunikasikan concern dengan jelas.
Module
2
Lesson
12
Progres
Memuat...
Memuat progres level...
Module 59
Browser Attack Basics
9 jamMengenali risiko browser-facing dan memilih rendering, request, input, serta dependency boundary yang lebih aman dalam pekerjaan frontend.
Module 60
Secrets, Tokens, and Permissions
9 jamMenjaga secret tetap server-only, membaca trade-off session, serta membuat Permission UI tanpa memindahkan enforcement ke browser.