Phoenix
Instalasi & Mix Phx.New
Cara menginstal Phoenix Framework dan membuat project baru dengan mix phx.new.
Struktur Project Phoenix
Memahami tata letak folder lib/app_web, router.ex, dan bagian penting lain dari project Phoenix.
Routing & Pipeline (Plug)
Mendefinisikan route dan memahami konsep pipeline plug di router.ex.
Controller & View/Template (HEEx)
Menulis controller Phoenix dan merender template HEEx untuk menampilkan halaman.
Ecto Schema & Migration Dasar
Mendefinisikan schema Ecto dan membuat migration untuk struktur tabel database.
Ecto Changeset & Validasi
Memakai changeset untuk memvalidasi dan membersihkan data sebelum disimpan ke database.
Ecto Query Dasar
Menulis query untuk membaca data dari database memakai Ecto.Query.
Context Module (Phoenix Contexts Pattern)
Mengorganisir business logic dalam modul context supaya controller tetap tipis.
LiveView Dasar (mount/render/handle_event)
Membangun halaman interaktif real-time tanpa JavaScript custom memakai Phoenix LiveView.
LiveView State & Assigns
Mengelola state kompleks di LiveView memakai assign dan assign_new secara efisien.
LiveView Form & Validasi Real-Time
Membuat form interaktif dengan validasi langsung memakai to_form dan phx-change.
PubSub & Broadcast
Mengirim pesan real-time antar proses dan antar LiveView memakai Phoenix.PubSub.
Channels (WebSocket) Dasar
Membangun komunikasi dua arah custom lewat Phoenix Channels untuk kebutuhan di luar LiveView.
Plug Custom & Middleware
Menulis plug sendiri untuk logic yang perlu dijalankan sebelum request sampai ke controller.
Autentikasi Dasar (phx.gen.auth)
Menghasilkan sistem autentikasi lengkap secara otomatis memakai generator mix phx.gen.auth.
Testing (ExUnit + Phoenix.ConnTest)
Menulis test untuk controller dan LiveView memakai ExUnit dan helper Phoenix.ConnTest.
Error Handling & Fallback Controller
Menangani error secara konsisten di controller lewat action_fallback dan FallbackController.
Deployment/Release Dasar (mix release)
Membangun release production Phoenix yang siap dijalankan tanpa Elixir/Erlang toolchain penuh di server.
Tugas Akhir
Membangun aplikasi mini blog dengan Phoenix yang menggabungkan Ecto, Context, LiveView, dan autentikasi.