Correcao Sidebar Classico e Rail, Correcao Layout, Ajuste de Breakpoint para Tailwind, Ajuste AppTopbar, Ajuste Menu PopOver, Recriado Paleta de Cores, Inserido algumas animações leves, Reajuste Cor items NOVOS da tabela, Drawer Ajuda Corrigido no Logout, Whatsapp, sms, email, recursos extras

This commit is contained in:
Leonardo
2026-03-24 21:26:58 -03:00
parent a89d1f5560
commit 53a4980396
453 changed files with 121427 additions and 174407 deletions

119
database-novo/README.md Normal file
View File

@@ -0,0 +1,119 @@
# database-novo
Banco de dados do AgenciaPsi — organizado, documentado e com CLI para gerenciamento.
## Quick Start
```bash
cd database-novo
# Instalação do zero (schema + fixes + seeds + backup)
node db.cjs setup
# Ver estado do banco
node db.cjs status
# Backup
node db.cjs backup
# Restaurar (perdi o banco!)
node db.cjs restore
```
Para o guia completo, veja **`docs/setup_guide.md`**.
## Comandos do CLI
| Comando | O que faz |
|---------|-----------|
| `node db.cjs setup` | Instala do zero (schema + fixes + seeds) |
| `node db.cjs backup` | Exporta backup com data para `backups/` |
| `node db.cjs restore [data]` | Restaura de um backup |
| `node db.cjs migrate` | Aplica migrations pendentes |
| `node db.cjs seed [grupo]` | Roda seeds (all, users, system, test_data) |
| `node db.cjs status` | Estado do banco, backups, migrations |
| `node db.cjs diff` | Compara schema atual vs último backup |
| `node db.cjs reset` | Reseta e reinstala tudo |
| `node db.cjs verify` | Verifica integridade dos dados |
## Estrutura
```
database-novo/
├── db.cjs # CLI de gerenciamento do banco
├── db.config.json # Configuração (container, seeds, fixes)
├── schema/ # Schema SQL separado por seção
│ ├── 00_full/schema.sql # Schema completo (referência)
│ ├── 01_extensions/ # Schemas + extensões PostgreSQL
│ ├── 02_types/ # Enums (auth, public, infra)
│ ├── 03_functions/ # 11 arquivos por domínio
│ ├── 04_tables/ # 10 arquivos por domínio
│ ├── 05_views/ # 24 views
│ ├── 06_indexes/ # Índices
│ ├── 07_foreign_keys/ # PKs, FKs, constraints
│ ├── 08_triggers/ # Triggers
│ ├── 09_policies/ # 217 RLS policies
│ └── 10_grants/ # Grants
├── seeds/ # Seeds de dados
│ ├── seed_001_fixed.sql # 6 usuários base + tenants
│ ├── seed_002.sql # Supervisor + Editor
│ ├── seed_003.sql # Therapist2, Therapist3, Secretary
│ ├── seed_010_plans.sql # 7 planos + 4 preços
│ ├── seed_011_features.sql # 26 features
│ ├── seed_012_plan_features.sql # 85 vínculos plano↔feature
│ ├── seed_013_subscriptions.sql # 9 subscriptions + compromissos
│ ├── seed_014_global_data.sql # 11 email + 16 notif templates + 3 slides
│ ├── seed_020_test_data.sql # Dados de teste (50 pacientes, eventos, etc.)
│ ├── seed_020_test_data_cleanup.sql # Limpeza dos dados de teste
│ └── run_all_seeds.sh # Script bash alternativo
├── migrations/ # Migrations incrementais
├── fixes/ # 7 correções aplicadas
├── backups/ # Backups com data (auto-gerenciados)
│ └── 2026-03-23/ # schema.sql + data.sql + full_dump.sql
└── docs/ # Documentação
├── setup_guide.md # Guia completo de instalação e uso
├── schema_map.md # Mapa das 84 tabelas
├── business_rules.md # Regras de negócio
└── users_test.md # 11 usuários de teste (UUIDs + vínculos)
```
## Planos
| Key | Target | Preço | Limites |
|-----|--------|-------|---------|
| `patient_free` | patient | R$0 | — |
| `therapist_free` | therapist | R$0 | 40 agendamentos/mês, 50 lembretes/mês |
| `therapist_pro` | therapist | R$49/mês · R$490/ano | Ilimitado |
| `clinic_free` | clinic | R$0 | 30 pacientes, 5 terapeutas, 40 agend/mês |
| `clinic_pro` | clinic | R$149/mês · R$1490/ano | Ilimitado |
| `supervisor_free` | supervisor | R$0 | Até 3 supervisionados |
| `supervisor_pro` | supervisor | R$0 | Até 20 supervisionados |
## Usuários de Teste
Senha de todos: `Teste@123`
| Email | Plano | Tipo |
|-------|-------|------|
| paciente@agenciapsi.com.br | patient_free | Paciente |
| terapeuta@agenciapsi.com.br | therapist_free | Terapeuta solo + Clínica 3 |
| clinica1@agenciapsi.com.br | clinic_free | Clínica coworking |
| clinica2@agenciapsi.com.br | clinic_free | Clínica recepção |
| clinica3@agenciapsi.com.br | clinic_free | Clínica full |
| saas@agenciapsi.com.br | — | Admin plataforma |
| supervisor@agenciapsi.com.br | supervisor_free | Supervisor |
| editor@agenciapsi.com.br | therapist_free | Editor |
| therapist2@agenciapsi.com.br | therapist_free | Terapeuta |
| therapist3@agenciapsi.com.br | therapist_free | Terapeuta |
| secretary@agenciapsi.com.br | — | Secretária (Clínica 2) |
## Idempotência
Todos os seeds são idempotentes (ON CONFLICT DO UPDATE ou DELETE + INSERT). Podem ser re-executados quantas vezes necessário.