Day 1:
Module 1: Project Setup
- เริ่มติดตั้งโปรเจ็กต์แรกกับ Angular 16
- การตั้งค่าโปรเจ็กต์ที่สร้างขึ้นมา
- เรียนรู้โครงสร้างโปรเจ็กต์ Angular 16 เจาะลึก
- ทดสอบ Run และปรับแต่งโปรเจ็กต์ที่สร้างขึ้นมา
Module 2: Advanced Components
- Lifecycle Hooks
- ViewChild
- ViewChildren
- Content Projection
- ContentChild
- ContentChildren
Module 3: Dependency Injection
- Creating a Service
- Adding to Module Providers
- Using the NamesService
- Injecting Dependencies into Services
Module 4: การทำ Data binding
- Integrating a pure ES6 JavaScript Library (lodash)
- Integrating JavaScript Widgets (plotly.js)
- Integrating old jQuery Widgets (jquery-datetimepicker)
- Integrating modern jQuery Widgets (Kendo UI for jQuery)
- Improving performance (NgZone)
Day 2:
Module 5: Styling Angular Components
- Separating Structural Styles From Theme Styles
- How To Create An Alternative Component Theme And Ship It With The Library
- Creating an Alternative Component Theme
- Angular Style Isolation - Emulated View Encapsulation
- Learn 2 More Alternative Ways of Handling CSS in Angular Applications
- Setting Up A Library Module, Confirming AOT is Supported
- Angular Component Testing Overview
- The Angular CLI Testing Infrastructure
Module 6: Authentication & Route Protection in Angular
- How Authentication Works
- Adding the Auth Page
- Switching Between Auth Modes
- Handling Form Input
- Preparing the Backend
- Preparing the Signup Request
- Sending the Signup Request
- Adding a Loading Spinner & Error Handling Logic
- Improving Error Handling
- Sending Login Requests
- Login Error Handling
- Creating & Storing the User Data
- Reflecting the Auth State in the UI
- Adding the Token to Outgoing Requests
- Attaching the Token with an Interceptor
- Adding Logout
- Adding Auto-Login
- Adding Auto-Logout
- Adding an Auth Guard
Module 7: Working with NgRx
- What is Application State?
- What is NgRx?
- Getting Started with Reducers
- Adding Logic to the Reducer
- Understanding & Adding Actions
- Setting Up the NgRx Store
- Selecting State
- Dispatching Actions
- Multiple Actions
- Preparing Update & Delete Actions
- Updating & Deleting Ingredients
Module 8: Angular Animations
- Setting up the Starting Project
- Animations Triggers and State
- Switching between States
- Transitions
- Advanced Transitions
- Transition Phases
- The "void" State
- Using Keyframes for Animations
- Grouping Transitions
- Using Animation Callbacks
Day 3:
Module 9: Adding Offline Capabilities with Service Workers
- Adding Service Workers
- Caching Assets for Offline Use
- Caching Dynamic Assets & URLs
Module 10: Angular Material
- Environment Setup
- Autocomplete
- Bottom Sheet
- Cards
- Widgets
- Layouts
- Inputs
- Icons
- Grids
- SideNav
- Fab Speed Dial
- Swipe
- Switches
- Themes
- Toasts
Module 11: Angular Internationalization (i18n) ทำเว็บหลายภาษาด้วย Angular
- Introduction to Angular Internationalization (i18n)
- Understanding Angular i18n Unique Identifiers
- Angular i18n Pluralization Support
- Angular i18n Alternative Expressions Support
- Running a Translated Angular Application using the Angular CLI
Module 12: Workshop Angular CRUD with NodeJS
- Setup Node JS
- Build a Node.JS Backend
- Connect MongoDB Database with Angular 16 MEAN Stack App
- Create Model with Mongoose JS
- Create RESTful APIs using Express JS Routes
- Set up Angular 16 MEAN Stack Project
- Activate Routing Service in MEAN Stack Angular App
- Create Angular 16 Service to Consume RESTful APIs
- Register an Employee by Consuming RESTful API in Angular 16 MEAN Stack App
- Show Employees List and Delete Student Object using RESTful API in MEAN Stack App
- Edit Employees Data in MEAN Stack Angular 16 App