You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
API REST completa para uma aplicação de ecommerce, desenvolvida com Bun e Hono. Cobre todo o ciclo de compra: catálogo de produtos, carrinho, wishlist, pedidos e perfil do usuário — com autenticação segura, documentação OpenAPI e infraestrutura pronta para produção.
Funcionalidades
Autenticação e Segurança
Dual Token (JWT): Access Tokens de curta duração + Refresh Tokens armazenados no PostgreSQL, ambos trafegados via cookies HttpOnly e Secure.
Blocklist no Redis: ao fazer logout, o JTI do Access Token é revogado no Redis até expirar naturalmente, eliminando a janela de uso indevido pós-logout.
RBAC: controle de acesso por cargo (ADMIN, CUSTOMER, SUPPORT).
Proteção CSRF integrada.
Ecommerce
Produtos: listagem paginada com filtros (categoria, preço, estoque, busca), detalhes completos com opções selecionáveis (cor, tamanho etc.) e avaliações. Rating recalculado automaticamente a cada nova review.
Categorias: listagem pública, criação restrita a ADMIN.
Carrinho: persistido no banco por usuário. Adiciona, acumula, atualiza variante e remove itens.
Wishlist: toggle — adiciona se não estiver, remove se já estiver.
Pedidos: criação a partir do carrinho ativo (limpa o carrinho e incrementa quantitySold), listagem com escopo por cargo, atualização de status (ADMIN).
Perfil completo:GET /users/me retorna personalData, ordersHistory, wishlistProducts, paymentCards e addresses — alinhado diretamente com a interface User do frontend.
Endereços: adicionar, atualizar e remover; garantia de unicidade do endereço padrão.
Cartões de pagamento: adicionar e remover.
Infraestrutura
Rate Limiting: global (100 req/15min) e específico para rotas de auth (10 req/15min), via Redis.
S3: upload e download com URLs pré-assinadas (simulado com LocalStack em dev).
Filas e Email: processamento assíncrono com BullMQ + Nodemailer.
Documentação: OpenAPI 3.0 gerada automaticamente com Scalar UI em /docs.