first commit
This commit is contained in:
154
docs/PROGRESS.md
Normal file
154
docs/PROGRESS.md
Normal file
@@ -0,0 +1,154 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user