Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证An all in one portal to manage church and organizational level
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A multi-tenant church management SaaS, built module by module. This codebase currently
implements Module 01 — User Management & Authentication, extended with the Organization
onboarding flow (originally planned as Module 02) so the app is multi-tenant from the start:
signup, login, an organization per tenant, invitations, and a protected dashboard placeholder.
1. Create a Supabase project at supabase.com (or use an existing one).
2. Environment variables — copy .env.example to .env.local and fill in the values from
your Supabase project's Settings → API page:查看完整 README ↗A multi-tenant church management SaaS, built module by module. This codebase currently implements Module 01 — User Management & Authentication, extended with the Organization onboarding flow (originally planned as Module 02) so the app is multi-tenant from the start: signup, login, an organization per tenant, invitations, and a protected dashboard placeholder.
Next.js 16 (App Router) · TypeScript · Supabase (Auth + Postgres) · Tailwind CSS v4 · shadcn/ui
Create a Supabase project at supabase.com (or use an existing one).
Environment variables — copy .env.example to .env.local and fill in the values from
your Supabase project's Settings → API page:
cp .env.example .env.local
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
Run the database migrations, in order — open the Supabase SQL editor and run:
supabase/migrations/0001_create_profiles.sql — the profiles table, RLS (a user can
only read/update their own profile), and a trigger that auto-creates a profile on signup.supabase/migrations/0002_organizations.sql — organizations, organization_members,
organization_invitations, the RLS/helper-function pattern that scopes everything by
tenant, and the create_organization / accept_invitation RPCs.Install dependencies and run the dev server:
npm install
npm run dev
Open http://localhost:3000.
Every row of tenant data hangs off an organization (the tenant boundary). A user can belong
to more than one organization via organization_members, with a role of owner, admin, or
member. profiles.active_organization_id tracks which one they're currently working in.
organizations,
organization_members, and organization_invitations all filter by membership using
SECURITY DEFINER helper functions (is_org_member, is_org_admin) declared in
0002_organizations.sql — these avoid the classic recursive-RLS trap of a policy on a table
needing to query that same table.create_organization() and accept_invitation() Postgres functions,
so an organization can never exist without an owner.organization_id column and an RLS policy built on is_org_member() /
is_org_admin() — the same pattern already in place.Signup → (confirm email, if enabled) → Onboarding → Dashboard
│
├─ pending invite? → Accept → joins that organization
└─ no invite → Create organization (becomes owner)
/login, /signup, /forgot-password, /reset-password, /auth/callback,
/invite/[token]. Protected (requires a session): /dashboard/*, /onboarding./dashboard redirects to /onboarding if the user has no organization yet; /onboarding
redirects to /dashboard once they do — so a user always lands in the right place regardless
of how they arrive.src/proxy.ts (Next 16's renamed middleware) on every request, and
again in src/lib/auth/dal.ts / src/lib/organizations/dal.ts on the pages themselves — never
rely on the proxy check alone for security.src/app/auth/callback/route.ts completes both email confirmation and password-reset redirects,
and forwards an optional next param (used so an invite link survives a signup detour)./invite/[token] link exist.Roles/permissions beyond owner/admin/member, church members, ministries, groups, events, attendance, giving, and everything else in the KingdomFlow roadmap. Only the auth + tenant foundation is here.