Files
petlink_final/docs/PROGRESS.md
2026-05-04 09:43:36 +01:00

4.1 KiB

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.