Ponto de situação

Scoring Workshops
Platform

Plataforma de inscrição e gestão de workshops online para a Scoring — com pagamentos EuPago (Multibanco + MB WAY), emissão automática de faturas (Invoice Express) e emails transacionais via Resend.

📁 ~/scoring-workshops 🌿 main 📅 Início 2026-04-06 📦 github.com/kwana117/scoring-workshops
Progresso global
68%
Milestones
7/11
7 feitos 1 em curso 3 por fazer

À espera de

3 itens bloqueiam o avanço · todos pedidos a Scoring
🔑 Credenciais EuPago backoffice
Pedido a Scoring · há 0 dias
Sem isto: webhook não pode ser configurado e pagamentos não actualizam para paid automaticamente.
🔑 API key Invoice Express + nome de conta
Pedido a Scoring · há 0 dias
Sem isto: faturação automática após pagamento não arranca.
📧 Confirmação alias workshops@scoring.pt
Pedido a Scoring · há 0 dias
Sem isto: replies dos participantes aos emails não chegam à Scoring.
01 · Milestones

O caminho até dar o projecto como fechado.

Schema DB + RLS

Tabelas workshops, registrations, feedback, email_log com Row Level Security e políticas de acesso público/admin.

Feito

Admin panel

Login, CRUD de workshops (incluindo formador, preço, campos de feedback), lista de participantes, visualização de feedback, exportar CSV.

Feito

Páginas públicas

Listagem de workshops, detalhe, formulário de inscrição, formulário de feedback pós-evento e página de confirmação.

Feito

Emails transacionais

Confirmação de inscrição (com dados de pagamento), lembrete D-1, pedido de feedback pós-evento e declaração de presença em PDF. Remetente: workshops@scoring.pt.

Feito

Export CSV

Exportação de participantes, inscrições e respostas de feedback com filtros por workshop e email.

Feito

Deploy + infra

Vercel production activo, todas as env vars configuradas (Supabase, Resend, EuPago, Cron), domínio scoring.pt verificado no Resend. URL: scoring-workshops.vercel.app

Feito

EuPago — Multibanco + MB WAY

Geração de referência Multibanco e pedido MB WAY no momento da inscrição. Webhook implementado para receber confirmação de pagamento com verificação HMAC-SHA256.

Feito

Webhook EuPago activado

Endpoint /api/webhooks/eupago implementado e deployado. Aguarda configuração da URL de callback no backoffice EuPago (credenciais de login da Scoring pendentes).

Em curso

Admin: campo preço nos workshops

O formulário de criar/editar workshop no admin ainda não expõe o campo preco — é necessário para a Scoring definir o preço de cada workshop sem acesso directo ao DB.

Por fazer

Invoice Express — fatura automática

Após webhook PAID da EuPago, emitir fatura automaticamente via Invoice Express API e enviar ao participante por email. Aguarda API key + account name da Scoring.

Por fazer

Go-live com cliente

Sessão de validação end-to-end com a Scoring, remoção do botão de acesso rápido (teste@scoring.pt) e comunicação aos primeiros participantes reais.

Por fazer
02 · Próximos passos

Onde retomar quando voltar a este projecto.

Imediato

1
Campo preço no admin

Não bloqueia, pode avançar enquanto se espera pelo cliente. Adicionar input numérico preco ao formulário de criar/editar workshop para a Scoring gerir preços sem tocar no DB.

2
Webhook EuPago — configurar no backoffice

Assim que credenciais chegarem: entrar em clientes.eupago.pt, configurar URL https://scoring-workshops.vercel.app/api/webhooks/eupago e adicionar o HMAC secret ao Vercel.

3
Invoice Express — fatura automática

Assim que API key chegar: integrar emissão no webhook PAID (app.invoicexpress.com/users/api).

4
Sessão de validação com cliente

Testes end-to-end com a Scoring antes de go-live: inscrição, pagamento, email de confirmação, declaração de presença.

Riscos

Pagamentos antes de webhook Pagamentos podem entrar antes do webhook estar activo — o cron de reconciliação manual em /api/cron/reconcile-payments cobre isto, mas requer execução periódica até webhook ficar activo.
03 · Actividade recente

Últimos commits + stack.

4 hours agobcdb7b5 feat: EuPago integration — Multibanco + MB WAY payment on registration
5 hours ago98c930c fix: update sender email to workshops@scoring.pt
6 days ago9006d96 feat: add logout button to admin sidebar
3 weeks ago88f36e3 feat: quick test login button, bump min font size to 14px
3 weeks ago451cccb fix: use base-ui render prop for TooltipTrigger instead of asChild
3 weeks ago2b534d2 feat: add scoring logo to header and admin sidebar
3 weeks agod81737d feat: icon actions with tooltips, participant profile page, 2-col grid, export filters
3 weeks agof7d1661 feat: add workshop detail page, formador fields, NIF, and declaração de presença PDF

Stack

Next.js 16 Supabase EuPago Resend react-pdf Vercel TypeScript Tailwind 4 base-ui zod
Notas: Conta de teste: teste@scoring.pt / scoring2026 — remover antes do go-live. Workshop "Employer Branding" usado para testar EuPago (preco reposto a 0).