尚未检测到更新。GitHub 发布版本后会显示在这里。
正在加载完整 README。 以下为已保存的摘录。
A mobile-friendly React + Vite app for customer invoices, payments, a receivables ledger, and everyday expenses. Supabase provides authentication, PostgreSQL, and the backend API. There is no separate Node server to deploy.
Requires Node.js 20.19+ (or a supported newer LTS).
Open http://localhost:5173 and choose Explore the demo. Demo transactions are fictional, inspired by the supplied paper invoice format. The example business details are editable. Demo changes only live in memory and disappear on reload/exit; they never reach Supabase.
Project: vlgapyuvtwygstwwogps.查看完整 README ↗A mobile-friendly React + Vite app for customer invoices, payments, a receivables ledger, and everyday expenses. Supabase provides authentication, PostgreSQL, and the backend API. There is no separate Node server to deploy.
Requires Node.js 20.19+ (or a supported newer LTS).
npm ci
npm run dev
Open http://localhost:5173 and choose Explore the demo. Demo transactions are fictional, inspired by the supplied paper invoice format. The example business details are editable. Demo changes only live in memory and disappear on reload/exit; they never reach Supabase.
Project: vlgapyuvtwygstwwogps.
In your Supabase project dashboard, open SQL Editor → New query. Paste the complete contents of the database migration and run it once. It creates five tables, ownership policies, and three validated write functions. It makes no changes to existing tables with other names; if those five names already exist, stop and inspect before adapting the migration.
In Settings → API Keys, copy the publishable key (sb_publishable_…). The legacy anon key also works. Do not use service_role, a secret API key, your database password, or a personal access token in this app.
Copy .env.example to .env.local and fill in the publishable key:
VITE_SUPABASE_URL=https://vlgapyuvtwygstwwogps.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY=sb_publishable_your_key
In Authentication, enable the email/password provider, keep email confirmation enabled, and set a minimum password length of 12. Enable leaked-password protection if available on your plan. Keep anonymous sign-ins disabled.
In Authentication → URL Configuration, set Site URL to http://localhost:5173 for local testing. Add both http://localhost:5173 and http://localhost:5173/?recovery=1 to the redirect allowlist. After deployment, set Site URL to the final HTTPS origin and allow that exact origin plus its /?recovery=1 reset URL. The PKCE email flow must be completed in the same browser that requested it.
Set up custom SMTP in Authentication for reliable confirmation and password-reset email. Supabase's default mailer is for testing and restricts delivery to authorized project team addresses. Configure your mail provider and verified sender domain in the dashboard; no SMTP secrets go in the frontend.
Restart npm run dev. Create your Opervia account, confirm your email, and sign in. Your GitHub login to the Supabase dashboard is separate from your Opervia account.
Open Settings in Opervia and save your real business details before creating the first invoice. Add a customer, create a small test invoice, record a payment, and verify those records in the Supabase table editor.
For an owner-only production app, create and confirm the owner account, then disable new user sign-ups in Supabase. Each account otherwise gets a separate private workspace; separate staff accounts do not share books in this version.
Official setup references: API keys, password authentication, password security, redirect URLs, SMTP, and row-level security.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗