# Habitar — plataforma de autoconhecimento por assinatura

Produto digital da psicóloga **Graciela Seibt Licks Lauermann**: uma "casa
interior" com 9 cômodos e 58 experiências guiadas (metáfora → psicoeducação →
diário → instante de cuidado), vendida por **assinatura mensal via Mercado Pago**.

## Modelo de negócio

| Item | Definição |
|---|---|
| Produto | Acesso completo à casa (conteúdo + check-in diário) |
| Preço | `PRECO_MENSAL` em `api/config.php` (fonte única — site e app leem de `api/plano.php`) |
| Cobrança | Assinatura mensal recorrente (Mercado Pago Assinaturas / preapproval) |
| Cancelamento | Pelo próprio assinante, na conta do Mercado Pago; acesso até o fim do período pago |
| Reembolso | 7 dias (CDC art. 49) — operacionalizado manualmente via painel do MP |
| Privacidade | Diário fica só no dispositivo do usuário (argumento central de venda; ver `privacidade.html`) |

## Funil do usuário

```
/  (página de vendas — index.html, raiz do domínio)
   └─ "Quero assinar" → /casa#/cadastro  (nome, e-mail, senha + aceite dos termos)
        └─ tela do plano → "Assinar com Mercado Pago" → checkout do MP
             └─ retorno (#/retorno) → webhook/polling ativa → casa liberada
   └─ "Entrar" → /casa (login; reconhece assinante e abre direto)
```

- Visitante **logado** que volta à página de vendas é reconhecido (CTA vira
  "Continuar para a minha casa").
- Assinante logado no app cai na **home de produto**: saudação + check-in do dia.
- Sem assinatura ativa (pendente/pausada/cancelada), o app trava na tela do plano.

## Estrutura de arquivos

```
index.html  → /       Página de vendas (pública)          admin.html   Painel da psicóloga
app.html    → /casa   O app (área do assinante)           termos.html  Termos de Uso
css/styles.css      Design system "Entardecer"          privacidade.html  Política (LGPD)
js/app.js           SPA: rotas, auth, casa, experiências
assets/             Ilustrações (fachada, corte, 58 ícones SVG)
data/               Conteúdo terapêutico (JSON) — BLOQUEADO pelo .htaccess
api/
  config.php        ⚙ Config: token MP, preço, SMTP, chave do admin, BASE_URL
  db.php            SQLite (api/habitar.db) — usuários + status da assinatura
  register/login/logout/me.php     Sessão
  esqueci/redefinir.php            Recuperação de senha (e-mail; demo sem SMTP)
  checkout.php      Cria a assinatura no MP (modo demo sem token)
  webhook.php       Notificações do MP → ativa/bloqueia + e-mail de boas-vindas
  content.php       Serve os JSONs de data/ SÓ para assinante ativo
  plano.php         Preço público (fonte única)
  admin.php         Métricas + lista de assinantes (protegido por ADMIN_KEY)
  email.php         SMTP simples (recuperação/boas-vindas)
```

## Configuração (api/config.php)

1. **Mercado Pago**: criar aplicação em mercadopago.com.br/developers e colar o
   Access Token em `MP_ACCESS_TOKEN`. Vazio = **modo demonstração** (checkout
   ativa sem cobrar — bom para testar).
2. **Webhook** (produção): cadastrar `https://SEU_DOMINIO/api/webhook.php`
   no painel do MP, evento *subscription_preapproval*. Sem webhook o sistema
   ainda funciona (o `me.php` revalida no MP a cada minuto), mas o webhook dá
   ativação instantânea.
3. **BASE_URL**: URL pública do site (usada no retorno do checkout e e-mails).
4. **SMTP** (recuperação de senha + boas-vindas): na Hostinger,
   `smtp.hostinger.com:587` com um e-mail do domínio. Sem SMTP, a recuperação
   mostra o link na tela (apenas para desenvolvimento).
5. **ADMIN_KEY**: chave forte para a psicóloga acessar `admin.html`
   (atualmente `teste-local-123` para testes — TROCAR em produção).
6. **Preço**: `PRECO_MENSAL` — reflete automaticamente no site e no app.

## Operação (dia a dia da Graciela)

- **Ver assinantes/receita**: `admin.html` (chave de acesso).
- **Reembolsos/cobranças**: painel do Mercado Pago.
- **Suporte**: WhatsApp divulgado no site.
- **Backup**: copiar `api/habitar.db` periodicamente (contas e status).

## URLs limpas

O .htaccess serve URLs sem .html: /casa (app), /termos, /privacidade,
/admin — e redireciona (301) as antigas com .html. Funciona igual em
subdiretório (teste local) e na raiz do domínio (produção).

## Deploy (Hostinger)

Subir a pasta inteira para o servidor (Apache com PHP 8+; o `.htaccess` já
protege `data/` e o banco). Ajustar `BASE_URL`, token do MP, SMTP e ADMIN_KEY.
HTTPS é obrigatório em produção (o cookie de sessão vira `secure` sozinho).

## Segurança e LGPD

- Senhas com `password_hash`; sessão httponly/SameSite=Lax; SQLite fora do
  alcance do Apache; conteúdo pago servido apenas autenticado.
- Diário/registros nunca saem do dispositivo (localStorage) — não coletamos.
- Termos e Política publicados; aceite obrigatório no cadastro.
```
