- 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
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 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.
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:
kotlin-accelerator-dev
| Value | Android có cần không? | Ghi chú |
|---|---|---|
| Project URL | Có | Client gọi Supabase qua URL này |
| Publishable hoặc anon client key | Có | Client-safe, nhưng định danh project |
| Service role hoặc secret key | Không | Backend-only; không paste vào Android |
| Database password | Không | Chỉ 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
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
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:
- Tìm Android package name thật trong project.
- Register đúng package name đó trong Firebase.
- Thêm debug SHA-1 nếu app dùng Google sign-in hoặc Firebase Auth.
- Download
google-services.json. - Đặt file ở
app/google-services.json.
Để lấy debug SHA-1 (debug):
./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.