Module 1: การเตรียมเครื่องมือและความพร้อมทั้งบน Mac และ Windows
- แนะนำสเปกและคุณสมบัติเครื่องที่จะติดตั้งเครื่องมือสำหรับ Node.JS และ React
- ขั้นตอนการติดตั้ง Node.JS
- ขั้นตอนการติดตั้ง Visual Studio Code (VS Code) และส่วนเสริม (Extension) ที่จำเป็นสำหรับ Node.JS และ React
- แนะนำการติดตั้ง Docker desktop บน Windows และ MacOS (ใช้งานเสริม ไม่บังคับ)
- แนะนำขั้นตอนการติดตั้งฐานข้อมูล MS SQL Server ทั้งลงบนเครื่อง และลงผ่าน Docker
- แนะนำขั้นตอนการติดตั้งฐานข้อมูล MySQL ทั้งลงบนเครื่อง และลงผ่าน Docker
- แนะนำขั้นตอนการติดตั้งฐานข้อมูล PostgreSQL ทั้งลงบนเครื่อง และลงผ่าน Docker
- แนะนำขั้นตอนการติดตั้งฐานข้อมูล MongoDB ทั้งลงบนเครื่อง และลงผ่าน Docker
Module 2: พื้นฐานภาษา JavaScript ES6
- ทบทวนเกี่ยวกับการทำงานกับ JavaScript ขั้นพื้นฐาน
- การใช้ var, let ,const
- Arrow function ES6
- Template Literals ES6
- Destructuring
- Rest and Spread Oprertor
- Class and Module
- Arrays
- Async and Promise
- Async and Await
Module 3: แนะนำ Node.js
- What is Node.js
- Modules
- Built-in Modules
- Package Manager
- Web Server
Module 4: ตัวอย่าง Module ที่มาพร้อมกับ Node.js
- รู้จัก module Path
- การใช้ module OS
- การจัดการไฟล์ด้วย module File System
- การใช้งาน module Event
- การผ่านค่าพารามิเตอร์เข้าไปใน event
- การใช้งาน HTTP Module ในเบื้องต้น
- วิธีการใช้งาน HTTP Module จัดการ http request
- การกำหนดเงื่อนไขใน http response
Module 5: Asynchronous Operation ใน Node.js
- รู้จักการเขียนโปรแกรมแบบ Synchronous กับ Asynchronous Operation
- วิธีการเขียนโค้ดเพื่อจัดการกับ Asynchronous Operation
- การใช้ Callback กับ Asynchronous Operation
- Call Stack และ Event Loop
- รู้จัก Object แบบ Promise
- การรีเทิร์นค่าด้วย Object Promise
- การตรวจสอบข้อผิดพลาดจาก Promise
- Promise แบบขนาด (Parallel promises)
- การเขียนฟังก์ชันในแบบ Async / Await
Module 6: สร้างเว็บเซิฟเวอร์ด้วย Express
- เริ่มต้นสร้างโปรเจ็กต์ใหม่และติดตั้ง Express
- ทำความรู้จักเกี่ยวกับ Middleware
- ทบทวนเกี่ยวกับ REST API
- การใช้งาน Express เบื้องต้น
- กำหนด Middleware โดยใช้ Method use
- เปลี่ยน Port อัตโนมัติตามหมายเลข port ใน Process
- การส่งค่าพารามิเตอร์ไปพร้อมกับ HTTP Request
- การส่งค่าพารามิเตอร์หลายค่า
- ตัวอย่างการส่งค่าพารามิเตอร์ไปกับ url
- การใช้งาน Query String ในแอพพลิเคชั่น
- การทดสอบส่ง HTTP Request ด้วย Postman หรือ Thunder Client ใน VS Code
- ติดตั้ง Module body-parser
- การเพิ่มข้อมูลใหม่ผ่าน Method POST
- อัพเดทข้อมูลด้วย Method PUT
- ลบข้อมูลด้วย Method DELETE
- การใช้งาน Nodemon รันแอพพลิเคชั่น
Module 7: การทำงานกับ Routing ใน Express
- การทำงานกับ Navigation
- การใช้งาน Routing
- การเขียน Router functions
- การประยุกต์ใช้ Routing แบบต่างๆ ในงานจริง
Module 8: การใช้งาน Template Engine ใน Express
- รู้จักกับ Template Engine
- รู้จัก Jade / Pug Template engine และการใช้งานเบื้องต้น
- การแสดงผลและการใช้งานตัวแปรต่างๆ ใน Template
- การกำหนดเงื่อนไข (condition) ใน Template
- การทำซ้ำ (loop) ใน Template
- การแปลงโค้ด HTML เป็น Pug
- รู้จักกับ EJS Template Engine และการใช้งานเบื้องต้น
- แทรกโค้ด JavaScript ลงใน EJS Template
Module 9: Node.JS กับการทำงานกับฐานข้อมูล MongoDB, MySQL, PostgreSQL และ MSSQL Server สร้าง อ่าน แก้ไข และลบข้อมูล
- ติดตั้งฐานข้อมูลที่ต้องการเช่น MySQL, MongoDB หรือ MS SQL Server
- ติดตั้ง Package สำหรับเชื่อมต่อกับฐานข้อมูลที่ใช้
- สร้างฐานข้อมูลใน MS SQL Server
- สร้างโปรเจ็กต์ Node.js ใหม่สำหรับเชื่อมต่อกับ MS SQL Server
- สร้างไฟล์ .env สำหรับ config ตัวแปรในการเชื่อมต่อฐานข้อมูล
- เขียน Node.js API กับ MS SQL Server
- สร้าง SQL Data Access Layer
- สร้าง Database Client Plugin
Module 10: Node.JS กับการสร้าง Rest API
- การขึ้นโปรเจ็กต์ Rest API ด้วย Express Framework
- การกำหนด Routing
- การเชื่อมต่อฐานข้อมูล MongoDB, MySQL, PostgreSQL และ MSSQL Server
- การเขียนส่วนของ CRUD กับตัวฐานข้อมูล
Module 11: Workshop Inventory System (ระบบสินค้าคงคลัง)
- สร้างโปรเจ็กต์ Node.JS ใหม่พร้อมกำหนด Routing พื้นฐานที่ต้องการ
- การออกแบบส่วน UI ของระบบด้วย React 15
- การออกแบบระบบ Login และ Register
- การออกแบบส่วนของ Stock สินค้า
- การออกแบบส่วนการเพิ่มสินค้า
- การจัดการหมวดหมู่สินค้า
Module 12: การ Deployed เผยแพร่โปรเจ็กต์ขึ้น Production
- แนวทางการ deployed project node.js ขึ้น Production
- แนะนำ Cloud hosting สำหรับการ deployed
- การเชื่อมโยงฐานข้อมูลเมื่อขึ้นใช้งานจริง
- การแก้ปัญหาที่อาจพบเมื่อขึ้นสู่ Production จริง