Module 1: การสร้าง Animation ใน React Native
- รู้จักระบบ Animation ใน React Native
- แนะนำ Animation Module ต่างๆ ที่น่าสนใจ
- การทำงานกับ Animation เบื้องต้น
- การหมุน Elements
- การใช้งาน Forcing Swipes
- การใช้งาน Swipe Deck Props
- การเขียน Animation กับ Single Card Component
- การใช้ภาพ Animation จาก Lottie library npm
Module 2: การทำงานกับ State Management ด้วย Context
- รู้จักกับ Context
- การเซ็ตอัพ Context ลงในโปรเจ็กต์ React Native
- Moving Data with Context
- Adding State in Context
- Updating with UseReducer
- Initializing State from Context
- Initial Form Values
- Default Props
- Editing Action Function
- Editing in a Reducer
- Navigating Backwards
Module 3: เรียนรู้การ Authentication และ Authorization ใน React Native
- แนวคิดการทำ Authentication และ authorization
- Authentication Providers
- Authentication Flow
- Authentication API
- Getting the AuthToken
- Extracting the User from the AuthToken
- Storing the Current User
- Getting the Current User
- Logging Out the User
- Persisting the Authentication State Across Restarts
Module 4: เรียนรู้การใช้งาน React Native ร่วมกับ Firebase
- การ Setup Firebase
- การ Config Firebase ในโปรเจ็กต์ React Native
- แนะนำพื้นฐาน Firebase API
- การทำงานกับ Firebase Service
- ติดตั้ง Firebase เป็น Service
- ทำ Register / Login ด้วย Firebase Auth with Email
Module 5: การทำ One Time Password Authentication (OTP)
- The Details of One Time Passwords
- Tech Stack with Google Cloud Functions
- Layout of Google Cloud Functions
- Firebase Project Setup
- Deploying a Firebase Project
- Testing Deployed Functions
- Project File Structure
- The Request and Response Objects
- Generating a Service Account
- Creating New Users
- Testing New User Creation
Module 6: การทำ Facebook Login (Facebook Authentication)
- Facebook Auth Flow
- The Facebook Dev Console
- Redux Setup
- Using Async Storage
- Crazy Async/Await Syntax
- Logging in With Facebook
- Testing Facebook's Login Flow
- The Auth Reducer
- Skipping the Auth Screen
- Testing Auth Flow
- Advancing the Welcome Screen
- Resolving the Loading Screen
Module 7: การทำงานกับ Offline Data Persistence
- แนวทางการวางแผนทำงานแอพแบบ Offline
- ตรวจเช็คสถานะการเชื่อมต่ออินเตอร์เน็ต
- การใช้งาน Caching
- การใช้งาน AsyncStorage
- ทำงานกับ Inspecting AsyncStorage
- เรียนรู้ Cache Layer
- การประยุกต์ใช้งาน Cache Layer
- การ Caching รูปภาพ (Caching Images)
- การทำ Caching ร่วมกับ Redux
- การจัดเก็บข้อมูลของผู้ใช้ไว้ขณะ Offline
- การแจ้งเตือนเมื่ออยู่สถานะ Offline
Module 8: เรียนรู้การทำ Push Notifications
- แนะนำภาพรวมการทำงานกับ Pushnotification ของแอพ
- รู้จัก Push Notification Services
- สถาปัตยกรรมของ Push Notification
- การขอใช้งาน Push Notification Token จาก Firebase
- การจัดเก็บ Push Notification Token ไว้
- เริ่มทดสอบส่ง Push Notification แรก
- ทดสอบส่ง Push Notification บน Server
- การจัดการ (Handling) Push Notification ที่ได้รับมา
- การ Navigate ไปยัง Component ต่าง ๆ ตาม Push Notification ที่ได้รับมา
- สร้าง Custom Hook ไว้จัดการ Push Notification
- เรียนรู้และจัดการ Local Notification
Module 9: การเผยแพร่แอพขึ้นสู่ App Store / Play Store (Distribution)
- แนะนำภาพรวมการเตรียมความพร้อม
- การเปลี่ยน Icon ของแอพให้เหมาะสมกับการนำไปใช้งาน
- การปรับแต่ง (Optimizing) Assets เช่น รูปภาพ ไอคอน ฟอนต์ ต่างๆ ให้เหมาะสม
- การปรับแต่ง (Optimizing) JavaScript Bundle
- ติดตั้ง Report ข้อผิดพลาด (Error Reporting) ลงในแอพ
- การจัดการสภาพแวดล้อมก่อนเผยแพร่
- ทำการ Build App Release สำหรับ iOS
- ทำการ Build App Release สำหรับ Android
- เริ่มส่งแอพ Publish ขึ้นสู่ Apple Store
- เริ่มทดสอบส่งแอพ Publish ขึ้นสู่ Google Play Store
- ตรวจเช็คข้อผิดพลาดและแก้ปัญหาต่างๆ ที่พบ