การพัฒนาเว็บแอปพลิเคชันเต็มรูปแบบพื้นฐาน¶
รหัสวิชา: 1145101
จำนวนหน่วยกิต: 3(2-2-5)
วัตถุประสงค์ของรายวิชา¶
เข้าใจแนวคิดสถาปัตยกรรม Client-Server, โปรโตคอลการสื่อสารข้อมูลพื้นฐาน (HTTP/HTTPS) และการรักษาความปลอดภัย
เข้าใจและสามารถออกแบบ API ตามสถาปัตยกรรม REST (Representational State Transfer)
เข้าใจแนวคิดการบริหารจัดการสถานะและช่วงการใช้งาน (Status & Session Management)
สามารถพัฒนา Full-Stack Web Application และ RESTful API โดยใช้ Django Framework และ Django REST Framework
สามารถใช้งานเครื่องมือทดสอบ API ได้แก่ HTTPie CLI และ HTTPie Desktop (ติดตั้งผ่าน Scoop)
เข้าใจภาพรวมสถาปัตยกรรมระบบ (System Design Overview) และการประยุกต์ใช้ Containerization ด้วย Podman สำหรับการนำแอปพลิเคชันไปใช้งานจริง (Deployment Infrastructure) บนเครื่องคอมพิวเตอร์ส่วนบุคคลเพียงเครื่องเดียว
แผนการสอนรายสัปดาห์ (15 สัปดาห์)¶
Warning
เพิ่มสไลด์รายสัปดาห์
สัปดาห์ |
หัวข้อการเรียนรู้ |
กิจกรรมการเรียนรู้และเครื่องมือ |
การประเมินผล |
|---|---|---|---|
1 |
แนะนำสถาปัตยกรรม Client-Server และโปรโตคอลการสื่อสารข้อมูลพื้นฐาน |
บรรยายสถาปัตยกรรม Client-Server, DNS, HTTP/HTTPS และ SSL/TLS
|
การสังเกตพฤติกรรม |
2 |
สถาปัตยกรรม REST API และเครื่องมือทดสอบ API (HTTPie) |
บรรยายหลักการ REST, HTTP Methods และ Status Codes
|
แบบฝึกหัด |
3 |
ภาพรวมสถาปัตยกรรมระบบ (System Design Overview - Part I) |
บรรยายแนวคิด System Design, เปรียบเทียบ Monolithic vs Microservices
|
ใบงานวิเคราะห์สถาปัตยกรรม |
4 |
การเริ่มต้นพัฒนาเว็บแอปพลิเคชันด้วย Django Framework |
บรรยายปรัชญา Batteries-Included และสถาปัตยกรรม MVT ใน Django
|
ตรวจการตั้งค่าโปรเจกต์ |
5 |
การจัดการข้อมูลและการออกแบบฐานข้อมูลด้วย Django ORM |
บรรยาย Relational Database, Normalization และ Django ORM
|
การบ้าน |
6 |
การประมวลผลฟอร์ม การจัดการ View และ Template Rendering |
บรรยาย FBV, CBV, Django Template Language (DTL) และ Static Files
|
แบบฝึกหัด |
7 |
การบริหารจัดการสถานะและช่วงการใช้งาน (Status & Session) |
บรรยาย Stateless Protocol, Cookies และ Sessions ใน Django
|
แบบทดสอบย่อย |
8 |
โครงงานย่อย Midterm และการสอบกลางภาค |
นำเสนอแนวคิดโครงงาน Full-Stack Web Application และสอบประเมินความรู้
|
โครงงานกลางภาค / สอบกลางภาค |
9 |
ความปลอดภัยของเว็บแอปพลิเคชัน (Web Application Security) |
บรรยายช่องโหว่เว็บ (XSS, CSRF, SQL Injection) และระบบ Django Authentication
|
การบ้าน |
10 |
การพัฒนา RESTful API ด้วย Django REST Framework (DRF) |
บรรยายสถาปัตยกรรม DRF, Serializers, APIView และ ViewSets
|
แบบฝึกหัด |
11 |
การเชื่อมต่อส่วนหน้า (Frontend Integration) และ Token-Based Authentication |
บรรยาย Decoupled Architecture, Token/JWT Authentication และ CORS
|
ใบงานปฏิบัติการ |
12 |
ภาพรวมสถาปัตยกรรมระบบ (System Design Overview - Part II) |
บรรยาย Stateless Application, Caching และการจัดการ Static/Media Files
|
การบ้าน |
13 |
พื้นฐาน คอนเทนเนอร์ (Containerization) และ Podman |
บรรยายแนวคิด Containerization, เปรียบเทียบ Podman vs Docker (Rootless & Daemonless)
|
แบบฝึกหัด |
14 |
การสร้าง Container Image และ Multi-Container ด้วย Podman |
บรรยายการเขียน Containerfile และการใช้งาน podman-compose / Podman Pods
|
โครงงานย่อย |
15 |
การนำเว็บไปใช้งานจริง (Deployment Infrastructure) และการนำเสนอผลงาน |
บรรยาย Production Architecture (Nginx + Gunicorn + Django + PostgreSQL) บน Podman
|
นำเสนอปลายภาค |
สัดส่วนการประเมินผล¶
การมีส่วนร่วมและพฤติกรรมในชั้นเรียน: 10%
งานบ้านและแบบฝึกหัดปฏิบัติการ: 20%
โครงงานกลางภาคและการสอบกลางภาค: 25%
โครงงานปลายภาค (Full-Stack Web Application + Podman Deployment): 30%
การนำเสนอและรายงานสรุปผลงาน: 15%