Dành cho ai? Bạn không cần biết code hay quản trị server. Bài viết giải thích bằng ngôn ngữ đời thường, dùng ví dụ thực tế từ ứng dụng quản lý công việc (task management). Mục tiêu: giúp bạn hiểu Firebase hoạt động thế nào để mô tả yêu cầu cho Claude Code chính xác hơn.
Tổng quan: 5 thành phần trong hệ sinh thái Firebase
Firebase không phải một công cụ duy nhất — nó là bộ công cụ gồm nhiều dịch vụ, mỗi dịch vụ giải quyết một bài toán backend cụ thể.Firestore
Cơ sở dữ liệuLưu trữ toàn bộ dữ liệu ứng dụng. Cập nhật realtime.
Authentication
Xác thực người dùngĐăng nhập, đăng ký, quản lý phiên. Google, Email, Phone.
Cloud Storage
Lưu trữ fileẢnh, video, PDF. Kiểm soát quyền truy cập.
Cloud Functions
Logic phía serverCode chạy tự động khi có sự kiện hoặc theo lịch.
Security Rules
Bảo mật dữ liệuQuy tắc ai được đọc/ghi dữ liệu nào.
Bố cục backend trong dự án
Phần backend Firebase được tổ chức trong dự án Next.js qua 2 nơi:Thư mục
services/ nằm trong dự án Next.js (frontend gọi Firebase). Thư mục functions/ là dự án riêng chạy trên server Google — có package.json và dependencies riêng.1. Firestore — Cơ sở dữ liệu
Firestore là gì?
Firestore là nơi lưu toàn bộ dữ liệu của ứng dụng. Không giống database truyền thống (bảng với hàng và cột), Firestore tổ chức dữ liệu theo Collections (bộ sưu tập) chứa Documents (tài liệu).Thiết kế cấu trúc dữ liệu
Trước khi viết code, bạn cần thiết kế cấu trúc dữ liệu — quyết định lưu gì, ở đâu, liên kết thế nào. Ví dụ — Ứng dụng quản lý công việc:Các loại dữ liệu Firestore hỗ trợ
Subcollections — Dữ liệu lồng nhau
Firestore hỗ trợ subcollection — collection nằm bên trong document. Dùng khi dữ liệu thuộc về một document cụ thể.Realtime — Cập nhật tức thì
Firestore cập nhật dữ liệu theo thời gian thực. Khi một người thay đổi dữ liệu, tất cả người dùng khác đang mở ứng dụng sẽ thấy thay đổi ngay lập tức — không cần reload.2. Authentication — Xác thực người dùng
Authentication đảm nhận những gì?
Authentication quản lý toàn bộ vòng đời người dùng: từ đăng ký, đăng nhập, quên mật khẩu, đến đăng xuất. Mọi thứ phức tạp phía sau (mã hóa mật khẩu, quản lý session, chống tấn công) đều do Firebase xử lý.Luồng xác thực trong ứng dụng
Các phương thức đăng nhập
Email & Password
Email & Password
Phương thức truyền thống — người dùng đăng ký bằng email và mật khẩu.Firebase tự động xử lý:
- Mã hóa mật khẩu (không lưu plain text)
- Gửi email xác minh tài khoản
- Link “Quên mật khẩu” → gửi email reset
- Chống brute-force (khóa sau nhiều lần nhập sai)
Google Sign-In
Google Sign-In
Người dùng bấm “Đăng nhập với Google” → chọn tài khoản → xong. Không cần nhớ mật khẩu thêm.Firebase tự động xử lý:
- Mở popup chọn tài khoản Google
- Xác minh token từ Google
- Tạo hoặc cập nhật user trong Firebase Auth
- Trả về thông tin: tên, email, ảnh đại diện
Phone OTP
Phone OTP
Gửi mã OTP qua SMS → người dùng nhập mã → đăng nhập. Phù hợp khi cần xác minh danh tính thực.Firebase tự động xử lý:
- Gửi SMS với mã 6 số
- Xác minh mã OTP
- Chống spam (reCAPTCHA)
UID — Chìa khóa liên kết dữ liệu
Sau khi đăng nhập, Firebase cấp cho mỗi người dùng một UID (User ID) duy nhất, ví dụ:xK9mNp2QrLo5vWcT8uEd.
UID là chìa khóa liên kết giữa Authentication và Firestore:
3. Cloud Storage — Lưu trữ file
Storage đảm nhận những gì?
Cloud Storage lưu trữ file lớn mà Firestore không phù hợp: ảnh, video, PDF, Excel. Tổ chức file theo đường dẫn (path), tương tự thư mục trên máy tính.Cấu trúc lưu trữ file
Quy trình upload file
Kiểm soát quyền truy cập file
4. Cloud Functions — Logic phía server
Cloud Functions là gì?
Cloud Functions là đoạn code chạy trên server Google, được kích hoạt bởi sự kiện. Bạn không cần thuê server — Google tự động chạy code khi có sự kiện xảy ra, rồi tắt đi khi xong.Cấu trúc thư mục Cloud Functions
3 loại Cloud Functions
Firestore Triggers — Phản ứng với dữ liệu
Firestore Triggers — Phản ứng với dữ liệu
Tự động chạy khi dữ liệu trong Firestore thay đổi. Có 4 loại trigger:
Ví dụ — Khi tạo task mới:
Scheduled Functions — Chạy theo lịch
Scheduled Functions — Chạy theo lịch
Tự động chạy vào thời điểm đặt sẵn, giống cron job. Phù hợp cho báo cáo, nhắc nhở, dọn dẹp dữ liệu.
Ví dụ — Nhắc deadline hàng ngày:
HTTP Functions — API endpoints
HTTP Functions — API endpoints
Tạo URL mà frontend hoặc dịch vụ bên ngoài có thể gọi. Phù hợp khi cần xử lý logic phức tạp phía server hoặc tích hợp dịch vụ thứ 3.
Ví dụ — Tạo báo cáo PDF:
Luồng hoạt động Cloud Functions
5. Security Rules — Bảo mật dữ liệu
Security Rules là gì?
Security Rules là bộ quy tắc xác định ai được đọc/ghi dữ liệu nào. Chúng chạy trên server Firebase — không thể bị bypass từ phía client.Các mức bảo mật
Các cấp độ bảo mật phổ biến
Mô tả Security Rules cho Claude Code
Cách 5 thành phần phối hợp
Tất cả 5 thành phần Firebase hoạt động phối hợp nhịp nhàng. Đây là ví dụ luồng hoàn chỉnh khi tạo task mới:Firebase Console — Bảng điều khiển
Firebase Console (console.firebase.google.com) là giao diện web cho phép bạn xem và quản lý tất cả dịch vụ Firebase — không cần code.
Khi phát triển, bạn có thể vào Firebase Console để kiểm tra dữ liệu mà Claude Code tạo ra — xem document đúng chưa, field nào bị thiếu, data có hợp lệ không.
Chi phí Firebase
Gói Spark (miễn phí)
Gói Blaze (trả theo dùng)
Mô tả backend cho Claude Code
Khi hiểu cấu trúc backend Firebase, việc mô tả yêu cầu cho Claude Code trở nên chính xác hơn: Thiết kế database:Câu hỏi thường gặp
Firestore khác SQL database thế nào?
Firestore khác SQL database thế nào?
Firestore phù hợp khi dữ liệu đơn giản-trung bình và cần realtime. SQL phù hợp khi cần query phức tạp (báo cáo, phân tích nhiều bảng liên kết).
Cloud Functions có chạy liên tục không?
Cloud Functions có chạy liên tục không?
Không. Cloud Functions chạy theo kiểu event-driven — chỉ chạy khi có sự kiện, xong thì tắt. Bạn không trả tiền khi function không chạy.Thời gian chạy tối đa mặc định: 60 giây (có thể tăng lên 540 giây).Nếu function cần chạy liên tục (ví dụ WebSocket server), Cloud Functions không phù hợp — dùng Cloud Run hoặc server truyền thống.
Có cần viết Security Rules ngay từ đầu không?
Có cần viết Security Rules ngay từ đầu không?
Khi tạo Firestore lần đầu, Firebase cho phép chọn test mode (mở hoàn toàn trong 30 ngày). Đây là đủ cho giai đoạn phát triển.Trước khi deploy cho người dùng thật, bạn bắt buộc phải viết Security Rules. Không có Rules = ai cũng đọc/ghi/xóa được tất cả dữ liệu.Yêu cầu Claude Code viết Rules khi ứng dụng đã có đủ tính năng cơ bản và chuẩn bị deploy.
Firebase Emulator là gì?
Firebase Emulator là gì?
Firebase Emulator là phiên bản Firebase chạy trên máy tính của bạn — mô phỏng Firestore, Auth, Storage, Functions mà không cần kết nối internet hay ảnh hưởng dữ liệu thật.Dùng khi nào:
- Phát triển và test trên local
- Test Cloud Functions trước khi deploy
- Test Security Rules mà không sợ ảnh hưởng production
Dữ liệu có mất khi Firebase gặp sự cố không?
Dữ liệu có mất khi Firebase gặp sự cố không?
Firebase có SLA 99.95% uptime — trong một năm, thời gian ngừng hoạt động tối đa khoảng 4 giờ. Dữ liệu được replicate trên nhiều data center của Google.Firestore cũng hỗ trợ backup tự động — bạn có thể cấu hình backup hàng ngày để khôi phục khi cần. Yêu cầu Claude Code cấu hình Export/Import nếu cần.
Tóm tắt
Điểm mấu chốt: Firebase cung cấp toàn bộ backend mà ứng dụng cần — database, authentication, file storage, server logic, và bảo mật — tất cả do Google vận hành. Bạn chỉ cần mô tả cấu trúc dữ liệu, quy tắc bảo mật, và logic tự động cho Claude Code. Không cần thuê server, không cần cài database, không cần lo bảo trì.