尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Lenden app for margdarshak
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Payment collection, transfer, settlement, and daily closing app for Guest House, Margdarshak Library, and Margdarshak Shikshan Sansthan.
• Next.js App Router
• Supabase Auth, Postgres, Storage, and RLS
• TypeScript
• React Query client cache with view-only persistence
• PWA manifest and service worker for browser install/add-to-home-screen support
Lenden runs as a Next.js backend-for-frontend over Supabase. There is no active Supabase Edge Function in the request path.查看完整 README ↗Payment collection, transfer, settlement, and daily closing app for Guest House, Margdarshak Library, and Margdarshak Shikshan Sansthan.
Lenden runs as a Next.js backend-for-frontend over Supabase. There is no active Supabase Edge Function in the request path.
src/app/page.tsx sends members to their last active /b/[businessSlug]; users without active access go to the global /account hub, and platform administrators without a membership go to /admin/businesses./api/businesses/[businessId]/bootstrap and /api/businesses/[businessId]/dashboard validate membership/support access and include the business in every React Query cache key.src/app/actions.ts; those actions resolve the business from the authenticated request URL, verify membership/support access, and use an authenticated tenant client so RLS remains active.src/proxy.ts runs the Supabase cookie refresh helper before application routes.business_id; tenant files use <business_id>/<entity>/<record_id>/...; storage and table policies enforce the same boundary.Create .env.local:
NEXT_PUBLIC_SUPABASE_URL=https://zxewmhlgrjdiumoiaina.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=sb_publishable_j7srvJgYdT9dEyqDwOW9mQ_-GSZDCfl
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
APP_BASE_URL=http://localhost:4000
[email protected]
RESEND_API_KEY=your_resend_api_key
RESEND_FROM_EMAIL=Lenden <[email protected]>
The service role key and Resend key are server-only. Configure Google in Supabase Auth, enable Manual Linking, and allow /auth/callback for local and production URLs. Financial mutations use the signed-in user's authenticated Supabase client and remain subject to RLS.
RESEND_API_KEY and RESEND_FROM_EMAIL are used by Lenden for business invitations and access notifications. Supabase Auth securely generates and verifies signup and recovery tokens, but production delivery must use the configured Resend SMTP transport rather than Supabase's default mail service. Configure Supabase Authentication → Emails → SMTP Settings with Resend:
smtp.resend.com465 or 587resendLenden <[email protected]>Set the deployed app environment to APP_BASE_URL=https://lenden.margdarshakss.com. Set the production Supabase Site URL to the same origin and allow these redirect URLs:
https://lenden.margdarshakss.com/auth/callbackhttp://localhost:4000/auth/callbackThe app callback accepts both Supabase's default code redirect and direct token-hash links. For a cross-browser-safe custom Confirm signup template, use:
<a href="{{ .RedirectTo }}&token_hash={{ .TokenHash }}&type=email">Verify email</a>
For the Reset password template, use the same structure with type=recovery. Lenden always supplies a validated /auth/callback?flow=...&next=... value as RedirectTo.
Run locally:
npm install
npm run dev
Open http://localhost:4000.
Apply the Supabase migrations before deploying the matching application build. The multi-business rollout is additive: it creates the tenant/membership tables, backfills the “Lenden Legacy Business,” then enables tenant constraints and RLS.
supabase db push
supabase test db
This app no longer ships a Supabase Edge Function. Keep mutation logic in Next.js Server Actions unless a new deployment boundary is deliberately introduced.
With the service role key set, /setup remains a deployment-only bootstrap for the first platform administrator. After bootstrap, every user signs up with email/password or Google. Platform administrators approve business requests or assign a registered account as the initial Owner; Owners and Managers grant business-scoped access by email without managing credentials.
npm run lint
npm run build