Dan Tech Academy
Sau bài này bạn sẽ
  • Tạo Supabase dev project và chạy setup SQL để tạo sẵn các table
  • Điền Supabase và Google OAuth values vào local.properties thay vì hardcode secrets
  • Register Android app trong Firebase và giữ google-services.json ngoài Git
Thời lượng18 phút
Độ khóBeginner

Setup Supabase SQL, Auth Secrets Và Firebase

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.

Video đang cập nhật

Video bài học sắp lên sóng

Trong lúc chờ, bạn hãy đọc bản text của bài học bên dưới: đầy đủ lý thuyết, code mẫu và checklist thực hành.

Bản quay đang trong khâu hậu kỳ

Mục Tiêu Bài Học

Bạn sẽ chuẩn bị phần backend setup tối thiểu mà app cần trước first serious build: Supabase, Google OAuth values, local secret files và Firebase Android project.

Bài này chưa phải lúc build feature. Mục tiêu là loại bỏ các lỗi setup mơ hồ trước khi đi vào architecture lessons.

Phần 1: Tạo Supabase Dev Project

Mở Supabase dashboard và tạo dev project:

text
kotlin-accelerator-dev
ValueAndroid có cần không?Ghi chú
Project URLClient gọi Supabase qua URL này
Publishable hoặc anon client keyClient-safe, nhưng định danh project
Service role hoặc secret keyKhôngBackend-only; không paste vào Android
Database passwordKhôngChỉ dùng cho admin/server

Phần 2: Chạy Supabase SQL Tối Thiểu

Cách 1: Chạy manual

Mở Supabase SQL Editor sau đó mở project kotlin-accelerator-ai tìm đến file scripts/sql/setup.sql để copy nội dung.

Sau đó paste phần sql setup vào supabase và thực thi. Tiếp tục quan sát, sau đó chuyển sang tab Database bạn sẽ thấy đã có các table được tạo sẵn.

Cách 2: Thông qua Supabase MCP

Bạn vào Supabase Project của mình, chọn Connect > MCP > Chọn AI Client > KHÔNG tick Read-only > Copy Prompt > Paste vào AI Client > Run. MCP sẽ tự động chạy cài đặt.

Bạn restart AI Client > gọi @scripts/sql/mcp-bootstrap-prompt.md và thực thiện. MCP sẽ tự động chạy cài đặt. > gọi @scripts/sql/mcp-seed-prompt.md để thực hiện seed dữ liệu mẫu.

Phần 3: Cấu Hình Auth Secrets

Mở Terminal và cd vào root của dự án kotlin-accelerator-ai sau đó bạn chạy script

python
python3 crypto.py decrypt

Enter liên tục cho đến khi thành công.

Khi này các value placeholder sẽ được set sẵn vào trong file local.properties

js
sdk.dir=XXX
supabase.url=XXXX
supabase.anon.key=XXXX
supabase.server.clientId=XXXXX

Ngay lúc này bạn đã có thể sử dụng Supabase để thực hành tính năng Login by Email trong dự án của chúng ta.

Tuy nhiên để có thể sử dụng được các tính năng như Google Authentication hoặc Firebase 1 cách hoàn thiện thì bạn cần làm thêm 1 bước nữa dưới đây.

Bạn lấy supabase url và supabase anon key từ Supabase dashboard > Project Settings > API > Project URL và Anon Key. Paste vào các field tương ứng trong local.properties.

Bạn vào Google Cloud Console, sau đó làm theo các bước sau.

  • Tạo Project với tên tùy ý. Ví dụ là kotlin-accelerator-dev
  • Tiếp theo setup tạo Credentials

Sau bước này bạn gần như đã hoàn thiện. Tuy nhiên Firebase là 1 thành phần không thể thiếu của Mobile Development. Hãy đến với section lớn tiếp theo để setup Firebase.

Phần 4: Tạo Firebase Android Project

Mở Firebase Console, tạo kotlin-accelerator-dev, rồi add Android app:

  1. Tìm Android package name thật trong project.
  2. Register đúng package name đó trong Firebase.
  3. Thêm debug SHA-1 nếu app dùng Google sign-in hoặc Firebase Auth.
  4. Download google-services.json.
  5. Đặt file ở app/google-services.json.

Để lấy debug SHA-1 (debug):

bash
./scripts/get-sha1-fingerprint.sh

Lưu ý hãy đảm bảo bạn không bao giờ ship file google-services.json vào trong git. Tuy file này không chứa quá nhiều thông tin nhạy cảm nhưng nó chứa các thông tin định danh cho app của bạn, để đảm bảo tính bảo mật hãy luôn thêm file này vào trong .gitignore

Phần 5: Điền Local Config, Không Hardcode

Bây giờ ta đã có đủ các value cần cho file local.properties. Chỉ cần dán vào là có thể start dự án rồi.

Pass Kiểm Tra

  • Launch app trên Device hoặc Emulator
  • Pass Onboarding -> Menu
  • Chọn Login bằng Email -> Kiểm tra login, logout, register, reset password
  • Chọn Đăng nhập bằng Google -> Nếu chưa setup google auth thì sẽ thất bại, hãy setup google auth theo video -> Kiểm tra

Checkpoint

Bạn hoàn tất khi Supabase SQL đã apply, Auth đã config, Firebase có Android app, app/google-services.json được ignore, local config chỉ có client-safe values, và các tính năng liên quan đến Authentication được thực hiện chính xác.

Đăng nhập