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
Do primeiro contato à despedida, acompanhe sua operação funerária com mais organização, segurança e tranquilidade.
Translation pending
BusinessTypeScript · PLpgSQLGitHub @italobragioniOnlineOwner 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 ↗Gestão funerária simples e organizada.
SOLENE é um SaaS B2B multi-tenant para funerárias pequenas e médias brasileiras. Ele acompanha todo o processo de um atendimento — da primeira ligação da família à conclusão do sepultamento ou cremação — substituindo cadernos, planilhas e grupos de WhatsApp por um sistema simples, rápido e seguro.
globals.css)organization_id + Row Level Securitywa.me / Web Share API)/admin) para o dono do SaaSnpm install
cp .env.example .env.local
Preencha NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY e
SUPABASE_SERVICE_ROLE_KEY (Supabase → Project Settings → API), e
NEXT_PUBLIC_APP_URL (ex.: http://localhost:3000).
Opção A — Supabase local (recomendado para dev):
supabase start
supabase db reset # aplica migrations em supabase/migrations + seed.sql
Opção B — Projeto na nuvem:
Aplique as migrations na ordem (supabase/migrations/0001…0005) via
supabase db push ou colando o SQL no SQL Editor. Depois rode supabase/seed.sql
(opcional) para dados de demonstração.
npm run dev
Abra http://localhost:3000.
Senha para todos: solene123
[email protected] — Administrador[email protected] — Atendente[email protected] — Operacional[email protected] — Super Admin (acessa /admin)Para tornar qualquer usuário Super Admin manualmente:
update public.profiles set is_super_admin = true where id = '<user_id>';
src/
app/ # Rotas (App Router)
(auth)/ # login, signup, recuperação de senha
(app)/ # área autenticada (shell + dashboard, atendimentos, agenda…)
admin/ # Super Admin do SaaS
memorial/[slug]/ # portal público da família
convite/[token]/ # aceite de convite
api/auth/ # callback e logout
components/ # UI reutilizável (ui/, layout/, brand/)
features/ # lógica por domínio (atendimentos, agenda, equipe, estoque…)
lib/ # supabase clients, auth, constants, utils, format
types/ # tipos TypeScript do domínio
supabase/
migrations/ # schema, funções/triggers, RLS, storage, RPCs públicas
seed.sql # dados de demonstração
organization_id e RLS. Um usuário só enxerga
dados de organizações das quais é membro ativo.SECURITY DEFINER (is_org_member, has_org_role, is_super_admin)
evitam recursão de RLS e centralizam as permissões.create_organization, accept_invitation).funeral_cases diretamente: usa RPCs que expõem
apenas os campos autorizados de um memorial publicado (padrão: despublicado).service_role
nunca é exposta no cliente.A camada de assinatura é agnóstica de gateway (subscriptions.provider,
provider_customer_id, provider_subscription_id). É possível integrar Asaas,
Mercado Pago ou Stripe sem alterar o restante do sistema.
.env.example.Build Command: next build (padrão). Deploy.https://SEU-DOMINIO/api/auth/callback).© SOLENE — Gestão funerária simples e organizada.