Sổ NợONLINE

Chào mừng trở lại

Đăng nhập để mở sổ nợ đang lưu trên web.

Chưa nối dữ liệu online. Bấm Kết nối online để cấu hình một lần.

Kết nối online · một file HTML

Cloudflare Pages hiển thị app. Supabase lưu tài khoản và sổ nợ/thu chi. Bạn cấu hình một lần rồi tải index.html đã cấu hình để dùng trên các thiết bị.

1. Tạo Supabase và bảng dữ liệu
  1. Vào Supabase, tạo project, chờ project sẵn sàng.
  2. Mở SQL Editor → New query. Sao chép SQL dưới đây, dán và bấm Run. SQL bật phân quyền: mỗi người chỉ đọc/sửa sổ của chính mình.
2. Nhập thông tin kết nối

Trong project Supabase, mở Connect hoặc Settings để lấy Project URL; phần API Keys có Publishable key (sb_publishable_…) hoặc anon key cũ. Chỉ dùng khóa công khai, không dùng secret/service_role.

3. Tải và đưa một file lên Cloudflare

Bấm nút dưới để tải bản HTML đã chứa URL/khóa công khai. Trong Cloudflare: Workers & Pages → Create application → Pages → Direct Upload / Upload assets. Đặt index.html trong một thư mục, tải thư mục đó lên rồi Deploy.

Không cần worker.js, D1 hay file CSS/JS riêng. Khóa công khai trong HTML là bình thường; chính sách RLS trong SQL bảo vệ dữ liệu từng tài khoản.

4. Email đăng nhập và cách dùng

Sau khi có link Pages, trong Supabase Authentication → URL Configuration, đặt Site URL là link app; thêm cùng link vào Redirect URLs. Tạo tài khoản bằng email và mật khẩu ít nhất 10 ký tự. Nếu Supabase yêu cầu xác nhận email, mở email rồi quay lại đăng nhập. Không cần mã tạo tài khoản của bản Worker.

Sổ Nợ có cộng/trừ nợ, ghi chú, ảnh và thời gian chỉnh tay. Thu chi có lịch tháng, danh mục, nguồn tiền, tổng tháng và CSV. Khoản mới lên đầu danh sách sau khi lưu; mở thiết bị khác đăng nhập cùng email để xem. Có thể nhập JSON của bản cũ trong mục Sao lưu.

Dữ liệu sổ mã hóa AES-GCM trước khi gửi. Trình duyệt chỉ giữ URL/khóa công khai để tiện cấu hình; không lưu sổ hay mật khẩu vào localStorage. Phiên/khóa chỉ nằm trong bộ nhớ. Mất mạng chưa thể lưu; cần giữ biểu mẫu và kiểm tra Đồng bộ trước khi nhập lại.

Chưa có đổi/quên mật khẩu trong app. Đổi mật khẩu trực tiếp trong Supabase có thể khiến sổ cũ không giải mã được; hãy có bản sao và mật khẩu cũ để nhập lại. Giới hạn sổ mã hóa: 8 MB/tài khoản. CSV không mã hóa, JSON sao lưu có mã hóa. Gói miễn phí và hạn mức do Cloudflare/Supabase quyết định.

Bản này cần cấu hình dịch vụ online trước khi dùng. Mã đã được kiểm tra cục bộ; cần kiểm tra tạo tài khoản, lưu và đăng nhập thiết bị khác trên project thực tế của bạn.

Thêm khoản chi

Thêm người mới

Lịch sử ghi nợ

Thêm nợ

Ảnh đính kèm (không bắt buộc, tối đa 3 ảnh)
JPG, PNG, WebP · tối đa 15 MB/ảnh · ảnh sẽ được thu nhỏ

Xác nhận

Sao lưu & hướng dẫn

Giữ một bản sao cuốn sổ

Xuất người, lịch sử nợ, thu chi cá nhân và ảnh thành file JSON mã hóa. Cần mật khẩu cuốn sổ lúc xuất để khôi phục bản sao.

Khôi phục từ bản sao

Nhập bản sao JSON của bản online hoặc bản offline cũ vào tài khoản đang đăng nhập. App hỏi xác nhận trước khi thay toàn bộ sổ hiện tại.

① Thêm mới: nhập tên và chọn người nợ tôi hoặc tôi nợ người này.

② Thêm nợ: nhập số tiền, ghi chú, ảnh nếu cần. Mỗi lần thêm được ghi vào lịch sử riêng.

③ Đã trả / Trừ nợ: ghi số tiền trả một phần hoặc trả hết. App tự tính số còn lại.

Thời gian: tự điền giờ thiết bị, cho phép sửa ở ô thời gian. Bấm biểu tượng bút để sửa người hoặc giao dịch.

Lưu trên web: dữ liệu mã hóa AES-GCM và lưu trong Supabase. Xóa dữ liệu trình duyệt không xóa sổ trên máy chủ. Đăng nhập cùng tài khoản trên thiết bị khác để mở lại. App tự kiểm tra cập nhật mỗi 60 giây và khi bạn quay lại tab; có thể bấm Đồng bộ. Đóng biểu mẫu trước khi đồng bộ.

Ảnh & dung lượng: ảnh được thu nhỏ và lưu cùng sổ trên máy chủ. Bản này giới hạn 8 MB dữ liệu mã hóa mỗi tài khoản để phù hợp sử dụng cá nhân. Nên xuất bản sao định kỳ.

Kết nối: mở đường dẫn HTTPS của app. Khi mất mạng, app báo chưa lưu; nội dung còn trong biểu mẫu khi tab đang mở nhưng không có hàng đợi offline. Chỉ coi là lưu thành công khi app báo Đã lưu trên web.

Khôi phục cuốn sổ

Dữ liệu nhập sẽ thay thế sổ hiện tại của tài khoản đang đăng nhập. Mật khẩu tài khoản online giữ nguyên.
Ảnh đính kèm giao dịch