Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Der direkte, offizielle Kanal zwischen Ihrer Verwaltung und Ihren Bürgern. Lokal vernetzt. Für Kommunen bis 15.000 Einwohner.
Translation pending
BusinessJavaScript · TypeScriptGitHub @lukasrosengruen-stackOnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Kommunale Bürger-App für deutsche Gemeinden. Gebaut mit Next.js 16, Supabase und TypeScript.
Jede neue Migration muss explizite GRANTs enthalten. Ab Oktober 2026 vergibt Supabase keine automatischen Grants mehr auf public-Tabellen — ohne expliziten GRANT gibt PostgREST einen 42501-Fehler zurück und die Tabelle ist über supabase-js unsichtbar.
-- Tabelle anlegen
create table public.meine_tabelle (
id uuid primary key default gen_random_uuid(),
-- ...
);
-- RLS aktivieren
alter table public.meine_tabelle enable row level security;
-- GRANTs (immer explizit angeben)
-- Nur anon hinzufügen wenn die Tabelle wirklich ohne Login erreichbar sein soll
grant select on public.meine_tabelle to anon; -- optional
grant select, insert, update, delete on public.meine_tabelle to authenticated;
-- RLS-Policies
create policy "..." on public.meine_tabelle for select using (...);
-- ...
| Rolle | Wann |
|---|---|
anon | Nur wenn die Tabelle ohne Login erreichbar sein muss (z.B. gemeinden für Slug-Routing, posts für OG-Sharing) |
authenticated | Alle Tabellen die im eingeloggten Bereich genutzt werden |
service_role | Kein expliziter Grant nötig — service_role umgeht RLS und hat immer Zugriff |
Alle bestehenden Tabellen sind in supabase/migrations/012_explicit_grants.sql abgedeckt.
Hinweis: Die
einladungen-Tabelle wurde manuell im Supabase-Dashboard angelegt und fehlt noch als Migration. Sie wird ausschließlich überservice_rolein API-Routen zugegriffen — kein Client-GRANT nötig.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.