25 bài viết Indie Builder giúp bạn định hướng đúng cho ứng dụng của mình (Updating)
Sau khi mở khóaKế hoạch bắt đầu từ ngày bạn muaMỗi ngày một việc, có link thẳng tới bài học liên quan
Đã hoàn thành0/31
01.01Kiểm tra readiness và lịch làm việcFreeTiếp theo→ Hiểu readiness như năng lực giữ nhịp làm việc trong đời sống thật, thay vì một cơn hứng khởi trước khi viết code.15 phút
01.02Tìm những vấn đề nhỏ có tín hiệu tích cựcFree→ Nhìn một ý tưởng như giả thuyết vấn đề: persona, pain point, cách xử lý thay thế và tín hiệu trả tiền.20 phút
01.03Tìm kiếm Aha moment cho user→ Biến pain point đã chọn thành khoảnh khắc người dùng nhận ra dùng app tốt hơn cách cũ.25 phút
01.04Thiết kế offer trước khi xây feature→ Biến Aha moment thành một offer công bằng: giá trị cốt lõi đến trước, premium mở rộng sau.20 phút
01.05Đừng chờ đợi tự tin. Bạn đã có đủ để bắt đầu.→ Xâu chuỗi nhịp bền, vấn đề thật, Aha moment và offer rõ thành một quyết định dũng cảm để bắt đầu.25 phút
02.01Đừng để user phải hỏi: “Giờ mình đi đâu?”Free→ Chọn cách dẫn đường dựa trên ý định của user để mỗi điểm đến và nhãn gọi đều có lý do.25 phút
02.02Khi nào app được phép ngắt nhịp user?→ Chọn đúng mức độ ngắt nhịp và viết micro-copy rõ ràng để app bảo vệ sự tập trung của user.25 phút
02.03Tại Sao App Bạn Cần Chạy MƯỢT?→ Dùng chuyển động, rung phản hồi và hiệu ứng thị giác như tín hiệu sản phẩm: làm rõ điều vừa xảy ra, giữ đúng cảm xúc và không đòi thêm sự chú ý.25 phút
02.04User Của Bạn Không Dùng App Cùng 1 Tư Thế→ Thiết kế trải nghiệm theo bối cảnh dùng: giữ nhiệm vụ và thứ bậc nội dung rõ ràng trên màn hình dọc, ngang và tablet.20 phút
02.05Làm Gì Khi Người Dùng Rời App?→ Biến notification, những lúc không có mạng và backup/restore thành một lời hứa liên tục về sự tôn trọng thời gian, dữ liệu và momentum của user.20 phút
00.01Cài đặt Git, Android Studio và SDKFreeTiếp theo→ Chuẩn bị Git và Android tooling cần thiết để clone, mở và build app trong course.10 phút
00.02Clone Repo và Mở Project Lần ĐầuFree→ Mở project app production thật thay vì một toy starter project.12 phút
00.03Checklist Tài Khoản Dịch VụFree→ Biết những tài khoản bên ngoài nào cần có và lý do cần từng cái.14 phút
00.04Setup Supabase SQL, Auth Secrets Và FirebaseFree→ Chuẩn bị backend tables, auth configuration và Firebase Android project cần thiết trước lần chạy app nghiêm túc đầu tiên.18 phút
00.05Build, Test và Commit Đầu TiênFree→ Tạo checkpoint an toàn đầu tiên trước khi vào phần architecture.12 phút
01.01Đọc Module Graph→ Đọc project như một hệ thống thay vì những mảnh rời rạc.6 phút
01.02Luồng Khởi Động Của Android App→ Hiểu app đi qua những điểm quan trọng nào từ lúc bấm icon đến màn hình đầu tiên.6 phút
01.03Feature Discovery Và Navigation Boundaries→ Hiểu vì sao feature modules xuất hiện trong app mà không cần wiring thủ công, và điều hướng giữa chúng mà không tạo coupling.8 phút
01.04Trách Nhiệm Từng Layer Và Cách Đọc Tên File→ Đừng trộn UI, business logic và backend code. Và học cách đoán vị trí file chỉ từ tên của nó.7 phút
01.05Thay Đổi An Toàn Đầu Tiên→ Biết cái gì là thật, cái gì là mock, rồi tự tay sửa codebase mà không phá vỡ boundary nào.10 phút
02.01Thiết Kế UI Model Bất Biến (Immutable)→ Mô hình hóa screen bằng state bất biến rõ ràng, rồi tự tay sửa state contract10 phút
02.02Quản lý User Intent Bằng Sealed Actions→ Biến UI events thành action vocabulary rõ ràng, bạn có thể tạo log, tự mở rộng để thấy hiệu quả.10 phút
02.03Kiểm Soát Recomposition Bằng Cách Nào?→ Vì sao Menu skip được recomposition: stability, strong skipping.8 phút
02.04Dựng Screen Compose Từ State→ Route sở hữu wiring, content composable chỉ render state. Và vì sao không gắn Toast vào state?12 phút
02.05Tái Sử Dụng Theme, UI Components→ Build UI mà không phá consistency, rồi tự nâng cấp, cập nhật token toàn app.10 phút
03.01Vì Sao Reducer Hữu Ích?→ Hiểu khi nào reducer tốt hơn UI logic nhiều nhánh.10 phút
03.02Thiết Kế State, Action, Effect Và AsyncOp→ Học vocabulary state-machine của app thông qua DRE Pattern.10 phút
03.03Đọc Game State Machine The Real Reducer Power→ Đọc reducer thật từ Game State Machine, lần theo action tới state mới, one-time effect và follow-up work.12 phút
03.04Wire ViewModel Với DRE Store→ Hiểu vai trò ViewModel trong DRE architecture pattern.12 phút
03.05Giữ Side Effects Bên Ngoài Reducer→ Giữ navigation, analytics, API calls và snackbar ở ngoài pure transitions.12 phút
04.01Use Case - Đơn vị Nghiệp Vụ Của App→ Vì sao 14 dòng code lại đáng để tạo một class riêng.11 phút
04.02Domain vs Data: Đâu Là Nơi Đặt Logic?→ Vì sao code của 1 tính năng cần tới 3 file ở 3 nơi khác nhau?12 phút
04.03Clean Architecture Của Cú Tap Sign-In→ Trace auth từ nút bấm tới session, rồi sync profile.11 phút
04.04Cách Bạn Thay Đổi AI Provider Chỉ Với 1 Dòng Code→ Contract đúng chỗ thì đổi provider nhanh, dễ test, và không ảnh hưởng đến các module khác.12 phút
04.05Composition Root - Nơi Định Nghĩa Các Provider→ Bạn bắt đầu hiểu ra cách tổ chức code, và tìm đến nơi duy nhất biết cả contract lẫn implementation.10 phút
05.01Test Reducer Và Use Case→ Bắt đầu test ở nơi nhanh và có giá trị nhất.5 phút
05.02Test Flow Và ViewModel→ Test state emissions mà không cần tap UI thủ công.6 phút
05.03Shrink Và Protect Release Build→ Hiểu vì sao build phát hành không phải build bạn đã test. Công dụng của R8 trong Android Release.5 phút
05.04Bảo Vệ Secrets Trong Build→ Hiểu cách xử lý mobile secrets một cách thực tế.5 phút
05.05Chạy Release Readiness Check→ Test đủ 3 bước, tick xong checklist, và dám bấm nút ship app lên Store5 phút
06.01Tổng quan Clean ArchitectureFree→ Tổng quan Clean Architecture - Khóa học Mobile Action Pro25 phút
06.02Pattern Kiến trúc 4 Lớp→ Pattern Kiến trúc 4 Lớp - Khóa học Mobile Action Pro25 phút
06.03Cấu trúc Gradle Multi-Module→ Cấu trúc Gradle Multi-Module - Khóa học Mobile Action Pro25 phút
06.04Thiết kế Dựa trên Interface→ Thiết kế Dựa trên Interface - Khóa học Mobile Action Pro25 phút
06.05Repository Pattern→ Repository Pattern - Khóa học Mobile Action Pro25 phút
06.06UseCase Pattern→ UseCase Pattern - Khóa học Mobile Action Pro25 phút
06.07Managers cho Complex Orchestration→ Managers cho Complex Orchestration - Khóa học Mobile Action Pro25 phút
06.08Data Flow Patterns→ Data Flow Patterns - Khóa học Mobile Action Pro25 phút
06.09Testing Từng Layer→ Testing Từng Layer - Khóa học Mobile Action Pro25 phút
06.10Dependency Injection với Interfaces→ Dependency Injection với Interfaces - Khóa học Mobile Action Pro25 phút
06.11Mapping Giữa Các Layers→ Mapping Giữa Các Layers - Khóa học Mobile Action Pro25 phút
06.12Best Practices & Anti-Patterns→ Best Practices & Anti-Patterns - Khóa học Mobile Action Pro25 phút
07.01Cơ bản về Dependency Injection→ Cơ bản về Dependency Injection - Khóa học Mobile Action Pro25 phút
07.02Inversion of Control→ Inversion of Control - Khóa học Mobile Action Pro25 phút
07.03Tổng quan Koin→ Tổng quan Koin - Khóa học Mobile Action Pro25 phút
07.04Koin DSL - module, single, factory→ Koin DSL - module, single, factory - Khóa học Mobile Action Pro25 phút
07.05Koin ViewModel Scope→ Koin ViewModel Scope - Khóa học Mobile Action Pro25 phút
07.06Dependency Resolution với get()→ Dependency Resolution với get() - Khóa học Mobile Action Pro25 phút
07.07Multi-Module Architecture→ Multi-Module Architecture - Khóa học Mobile Action Pro25 phút
07.08Core Module Setup→ Core Module Setup - Khóa học Mobile Action Pro25 phút
07.09Feature Module Pattern→ Feature Module Pattern - Khóa học Mobile Action Pro25 phút
07.10Dynamic Feature Discovery→ Dynamic Feature Discovery - Khóa học Mobile Action Pro25 phút
07.11ViewModel Injection trong Routes→ ViewModel Injection trong Routes - Khóa học Mobile Action Pro25 phút
07.12Testing với Koin→ Testing với Koin - Khóa học Mobile Action Pro25 phút
Kotlin Accelerator Source CodeA modern Android trivia game inspired by Who Wants to Be a Millionaire?.
Built with Kotlin 2.3.0, Jetpack Compose 2025.12.01, Koin 4.1.1, and Supabase 3.2.6 backend for a seamless quiz experience with AI-powered lifelines, leaderboards, and persistent user profiles.
Flutter Cross Platform CodebsaeThe source follows a lightweight MVVM shape. Widgets render state, ViewModels coordinate user actions and async work, and repositories hide local persistence or Supabase details behind small contracts.
NEWTài liệu mới đang trên đường tớiCập nhật liên tụcTemplate, checklist, source mới sẽ xuất hiện ngay tại đây.