# PawLink — Registo de Progresso ## Estado Geral - **Fase actual:** Fase 1 — MVP - **Última actualização:** 2026-05-04 09:37 - **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 + 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.