Tentang training
Berikut adalah rancangan kurikulum Kursus Web Development Python & Flask dengan PythonAnywhere. Materi disusun untuk 8 Pertemuan (masing-masing 90 Menit) dengan alur bertahap dari dasar hingga deployment aplikasi web live.
Overview Kurikulum
Total Pertemuan: 8 Pertemuan @ 90 Menit
Target Output: Peserta dapat membuat dan mendistribusikan (deploy) aplikasi web berbasis Python (Flask) yang terhubung ke database dan siap diakses publik di PythonAnywhere.
Prasyarat Peserta: Dasar pemrograman (logika/variabel/variabel dasar).
Rincian Pertemuan
Pertemuan 1: Introduction & PythonAnywhere Environment Setup
Fokus: Pengenalan Web Development, persiapan tools, dan setup PythonAnywhere.
Materi:
Pengenalan cara kerja web: Client, Server, HTTP Method (GET & POST).
Membuat akun & navigasi Dashboard PythonAnywhere.
Menggunakan Web Bash Console & Virtual Environment (venv) di PythonAnywhere.
Instalasi paket Flask.
Output: Environment Python & Flask siap di cloud.
Pertemuan 2: Flask Basics & First Web Application
Fokus: Memahami arsitektur dasar Flask dan sistem routing.
Materi:
Anatomi file utama Flask (app.py).
Routing dasar (@app.route) & Dynamic Route / URL Parameters (/user/<username>).
Menjalankan & melakukan reload web app di Web Tab PythonAnywhere.
Output: Web pertama "Hello World" & halaman profil dinamis yang live di URL PythonAnywhere.
Pertemuan 3: Dynamic HTML Rendering with Jinja2 Templating
Fokus: Menghubungkan logika Python ke tampilan HTML.
Materi:
Struktur folder Flask: templates/ & static/.
Sintaks Jinja2: Passing variabel, conditional statement ({% if %}), dan looping ({% for %}).
Template Inheritance (base.html & block content) agar tampilan konsisten.
Output: Halaman web multipage (Home, About) dengan template terstruktur.
Pertemuan 4: Front-End Styling & Static Files Integration
Fokus: Mempercantik tampilan web menggunakan CSS/Bootstrap.
Materi:
Menghubungkan file static (CSS, JS, Gambar) menggunakan url_for('static', filename=...).
Integrasi CSS Framework (Bootstrap / Tailwind CSS via CDN) ke dalam template Jinja2.
Membuat komponen UI: Navbar, Cards, Footer, dan Layout Responsif.
Output: Antarmuka web yang modern, rapi, dan mobile-friendly.
Pertemuan 5: Handling Forms & User Input
Fokus: Mengolah masukan data dari pengguna (Interaktivitas).
Materi:
Membuat form HTML dan penanganan metode GET & POST.
Mengambil data form menggunakan request.form.
Form validation dasar dan pencetak pesan kilat (Flash Messages).
Output: Fitur form kontak / input data yang merespons masukan pengguna.
Pertemuan 6: Database Integration with SQLite & Flask-SQLAlchemy
Fokus: Menyimpan data secara permanen.
Materi:
Konsep ORM (Object Relational Mapping) & Instalasi Flask-SQLAlchemy.
Desain Data Model (Membuat Tabel & Kolom Data).
Operasi CRUD Dasar: Create (Menambah data) & Read (Menampilkan data dari database).
Konfigurasi SQLite di lingkungan PythonAnywhere.
Output: Aplikasi tersambung ke database SQLite dan data tersimpan permanen.
Pertemuan 7: Complete CRUD Operations & Application Logic
Fokus: Menyelesaikan alur aplikasi web utuh.
Materi:
Operasi CRUD Lanjutan: Update (Mengedit data) & Delete (Menghapus data).
Menghubungkan tombol UI dengan tindakan CRUD backend.
Penanganan error dasar (Halaman 404 / 500).
Output: Aplikasi Manajemen Data (contoh: To-Do List / Katalog Usaha) berjalan penuh.
Pertemuan 8: Final Deployment, Custom Domain Check & Publishing
Fokus: Finetuning, debugging, dan peluncuran akhir.
Materi:
Memahami WSGI configuration file di PythonAnywhere.
Troubleshooting umum: Membaca Error Logs & Access Logs.
Tips performa gratisan di PythonAnywhere (fitur reload 3 bulan, konsol limits).
Presentasi mini proyek hasil karya peserta.
Output: Web App final ter-deploy sempurna di internet dan siap dibagikan.