Files
petlink_final/docs/PROGRESS.md

162 lines
4.5 KiB
Markdown

# PawLink — Registo de Progresso
## ⚡ HANDOFF — PRÓXIMA SESSÃO COMEÇA AQUI
**Estado:** Projecto Next.js criado, dependências instaladas, ferramentas configuradas e esquema Prisma definido. Parado por falta de base de dados.
**Próxima tarefa:** Configurar Supabase e obter `DATABASE_URL` para correr migrações e seed.
**Ficheiro relevante:** `.env.local`
**Atenção:** O utilizador tem de fornecer a `DATABASE_URL` do Supabase para prosseguir.
## Estado Geral
- **Fase actual:** Fase 1 — MVP
- **Última actualização:** 2026-05-04 09:49
- **Sessão #:** 1
---
## Legenda de Estados
- ✅ Concluído
- 🔄 Em progresso
- ⏳ Por fazer
- ❌ Bloqueado (indicar motivo)
- ⚠️ Atenção necessária
---
## Fase 1 — MVP
### Infra-estrutura e Configuração
- ✅ Setup Next.js 14 + TypeScript + Tailwind + shadcn/ui
- ✅ Configuração ESLint + Prettier + Husky
- 🔄 Esquema Prisma criado, falta ligação Supabase
- ⏳ Migrações iniciais da base de dados
- ⏳ Seed de dados de desenvolvimento
- ✅ Configuração variáveis de ambiente (.env.example)
- ⏳ Deploy inicial Vercel + domínio
### Autenticação
- ⏳ Configuração NextAuth.js
- ⏳ Registo de utilizador (nome, email, password, birthdate, distrito)
- ⏳ Validação de +18 anos no servidor
- ⏳ Verificação de email (Resend)
- ⏳ Login por email + password
- ⏳ Recuperação de palavra-passe
- ⏳ Middleware de protecção de rotas
- ⏳ Controlo de acesso por roles (USER, SHELTER_ADMIN, ADMIN)
### Canis
- ⏳ Registo de canis (painel admin)
- ⏳ Perfil público do canil (nome, morada, horários, contacto)
- ⏳ Painel privado do canil (dashboard base)
### Animais
- ⏳ CRUD de animais (painel do canil)
- ⏳ Upload de fotos (Supabase Storage)
- ⏳ Listagem pública com SSR (página inicial)
- ⏳ Sistema de filtros (distrito, espécie, raça, sexo, esterilizado)
- ⏳ Ficha detalhada do animal
- ⏳ Galeria de fotos
- ⏳ Badge de animal urgente
- ⏳ Estado do animal (Disponível / Reservado / Adoptado)
### Reservas
- ⏳ Calendário de datas disponíveis
- ⏳ Criação de reserva (animal → Reservado)
- ⏳ Email de confirmação (react-email + Resend)
- ⏳ Histórico de reservas na área de conta
- ⏳ Confirmação/cancelamento pelo canil
### UI / UX
- ⏳ Layout principal (Header, Footer)
- ⏳ Menu lateral (3 traços, canto superior direito)
- ⏳ Modo escuro / claro (toggle + persistência)
- ⏳ Área de conta (definições, palavra-passe, dados)
- ⏳ Design responsivo (mobile-first)
---
## Fase 2 — Doações (Por iniciar)
- ⏳ Integração Stripe (PaymentIntent + Payment Element)
- ⏳ Suporte MBWay
- ⏳ Fluxo doação monetária
- ⏳ Webhook Stripe
- ⏳ Fluxo doação de ração
- ⏳ Fluxo doação de brinquedos
- ⏳ Sistema de necessidades dos canis (ShelterNeed)
- ⏳ Email recibo de doação
- ⏳ Histórico de doações na conta
---
## Fase 3 — IA e Comunidade (Por iniciar)
- ⏳ Match inteligente (Claude API)
- ⏳ Chatbot de suporte Paws (streaming)
- ⏳ Geração automática de descrições de animais
- ⏳ Perfis pós-adopção
- ⏳ Sistema de notificações por email
- ⏳ Destaque de animais urgentes
- ⏳ Registo de voluntários
- ⏳ Avaliações de canis
---
## Fase 4 — Escala (Por iniciar)
- ⏳ App móvel React Native
- ⏳ Relatórios fiscais (IRS)
- ⏳ Dashboard analítico
- ⏳ API pública
- ⏳ Suporte multilingue
---
## Decisões Técnicas Tomadas
| Data | Decisão | Motivo |
|------|---------|--------|
| — | — | — |
---
## Problemas Conhecidos / Bloqueios
| # | Descrição | Estado | Sessão detectada |
|---|-----------|--------|-----------------|
| — | — | — | — |
---
## Dependências Externas Configuradas
| Serviço | Estado | Notas |
|---------|--------|-------|
| Supabase (PostgreSQL) | ⏳ Por configurar | — |
| Supabase Storage | ⏳ Por configurar | — |
| Vercel | ⏳ Por configurar | — |
| Stripe | ⏳ Por configurar | — |
| Resend | ⏳ Por configurar | — |
| Anthropic Claude API | ⏳ Por configurar | — |
| Upstash Redis | ⏳ Por configurar | — |
| Cloudflare | ⏳ Por configurar | — |
---
## Histórico de Sessões
### Sessão #1 — 2026-05-04
**Duração:** —
**Trabalho realizado:**
- Leitura de toda a documentação
- Criação de docs/PROGRESS.md
**Ficheiros criados/modificados:**
- docs/PROGRESS.md
**Próximos passos para a sessão seguinte:**
- Iniciar a Fase 1 — Infra-estrutura e Configuração (Setup Next.js, instalar dependências, prisma init, shadcn init)
**Notas:**
- Nenhuma.