尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Sistema de gestão para psicólogos e clínicas: agenda, pacientes, prontuário, financeiro, documentos, cobranças e nota fiscal — com controle de acesso e rastreabilidade por construção.
Stack: Next.js 16 (Vercel) · Supabase (Postgres + Auth + Storage + Edge Functions + pg_cron, região sa-east-1) · TypeScript · Tailwind v4.
| Doc | Conteúdo |
|---|---|
docs/prd.md | Escopo do MVP, módulos, roadmap, o que fica de fora |
docs/compliance-matrix.md | Regras éticas CFP/LGPD → comportamento do sistema |
docs/permissions-matrix.md | Perfis × telas × ações, critérios de aceite |
As matrizes são a especificação viva do produto — alterações nelas exigem revisão antes do código.
npm install
cp .env.example .env.local # preencher chaves
npx supabase start # sobe Postgres/Auth local (requer Docker)
npx supabase db reset # aplica migrations + seed
npm run dev
Depois de criar o primeiro usuário no Auth (Dashboard → Authentication), vincule-o a um perfil:
insert into profiles (id, organization_id, role, status, full_name)
values ('<auth_user_id>', '00000000-0000-0000-0000-000000000001',
'clinic_admin', 'active', 'Seu Nome');
src/
├── proxy.ts # Next 16: sessão + gate de autenticação (ex-middleware)
├── app/
│ ├── (auth)/login # login staff
│ ├── (app)/ # área interna: dashboard, agenda, pacientes, financeiro...
│ ├── (portal)/portal # portal do paciente (sem dados clínicos)
│ └── auth/callback # magic link / convites
├── lib/supabase/ # client (browser) · server · admin (service role)
├── lib/auth.ts # getSessionProfile / requireStaff
└── lib/audit.ts # log_audit (trilha ET-017)
supabase/
├── migrations/ # schema + RLS + funções de domínio
├── functions/ # edge functions: send-message, payment-webhook, issue-invoice
└── seed.sql
clinical_records, record_entries, documents — o acesso é negado pelo Postgres, não por esconder botão. Vínculo ativo patient_links é a base do ABAC clínico.record_entry_versions; edição = nova versão via add_entry_version() (exige change_reason). UPDATE/DELETE revogados + trigger de imutabilidade.audit_logs append-only para todas as ações sensíveis.pg_cron + edge functions), não em Vercel Cron — funciona em qualquer plano e sem limite de timeout curto.Este sistema manipula dados pessoais sensíveis (LGPD art. 11 — saúde). Antes de produção: revisão jurídica/ética das matrizes, DPA com Supabase/provedores, projeto Supabase em sa-east-1, backups/PITR habilitados.