GymCoach
근력 트레이닝 기록 및 개인 AI 코치
안전한 플랫폼에서 일정·보호된 진료기록·재무·환자 포털을 제공, 임상 실무에 맞춤
Agenda, prontuário protegido, financeiro e portal do paciente em uma plataforma segura, feita para a prática clínica.
건강TypeScript · PLpgSQLGitHub @carlospaulischen온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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.