Aplicação Next.js para acompanhar o crescimento e os cuidados de saúde do seu filhote — pesagens, vacinação, vermifugação e lembretes automáticos via WhatsApp.
- Perfil do filhote — nome, data de nascimento e foto
- Curva de crescimento — gráfico interativo com histórico de pesagens e métricas de variação (kg, %, g/dia)
- Cronograma de cuidados — agenda de vacinas e vermifugações gerada automaticamente a partir da data de nascimento, com janelas de aplicação e status (pendente, em breve, vencida)
- Histórico de aplicações — registro de vacinas e vermífugos aplicados com produto e posologia
- Notificações WhatsApp — lembretes diários enviados via CallMeBot para múltiplos destinatários, com cron configurado no Vercel
- Framework: Next.js 15 (App Router)
- Banco de dados: PostgreSQL via NeonDB
- Deploy: Vercel
- Notificações: CallMeBot (WhatsApp)
Crie um arquivo .env.local (veja o modelo em .env.example):
| Variável | Descrição |
|---|---|
DATABASE_URL |
String de conexão PostgreSQL da NeonDB |
APP_TOKEN |
Token de acesso ao app |
CRON_SECRET |
Token para autenticar a rota de cron (/api/cron/reminders) — configure também no painel da Vercel |
npm install
npm run devAcesse http://localhost:3000, informe o token e comece a registrar dados do filhote.
As tabelas são criadas automaticamente no primeiro acesso autenticado (rota POST /api/init):
| Tabela | Conteúdo |
|---|---|
puppy_profile |
Nome, data de nascimento e avatar |
puppy_weights |
Histórico de pesagens |
care_applications |
Vacinas e vermífugos aplicados |
deworming_settings |
Medicamento e protocolo de manutenção |
notification_recipients |
Destinatários WhatsApp |
notification_logs |
Log de mensagens enviadas |
- Obtenha uma
api_keydo CallMeBot para cada número (siga as instruções do site). - Cadastre os destinatários na aba Notificações do app (telefone com DDI, ex:
+5511999…). - Use o botão Testar para validar o envio antes de ativar.
- Em produção, o
vercel.jsonagenda o cron diariamente às 11h UTC (0 11 * * *) para chamar/api/cron/reminders.
A rota de cron exige o header
Authorization: Bearer <CRON_SECRET>— o Vercel envia isso automaticamente quando configurado no painel.
- Crie um projeto na Vercel apontando para este repositório.
- Configure as três variáveis de ambiente no painel.
- O cron do
vercel.jsonserá registrado automaticamente no deploy.