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.
Translation pending
Members, ministries, giving, and communication in one platform. Built for the churches, by the church. Free to start.
BusinessTypeScript · PLpgSQLGitHub @geoken1999OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
An all in one portal to manage church and organizational level
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
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:Read the full 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.