Voltar para projetos
IceCube - Plataforma E-commerce B2B
web

IceCube - Plataforma E-commerce B2B

Plataforma e-commerce B2B completa para fabricante de plásticos injetáveis personalizados. Sistema de orçamentos, painel administrativo e storefront com arquitetura monorepo de 3 projetos independentes.

Next.jsNestJSTypeScriptDrizzle ORMPostgreSQLTailwind CSSJWTSupabase S3Swagger
Funcionalidades

Principais recursos.

Storefront público com catálogo de 50+ produtos e sistema de orçamentos

Painel administrativo com CRUD completo, RBAC (4 roles) e dashboard

API REST com autenticação JWT dupla (cliente + admin), rate limiting e Swagger docs

Upload de imagens via Supabase Storage (S3) com organização por pastas

BFF pattern no storefront com cookies httpOnly para segurança

Sistema de carrinho de orçamentos via cookies com TTL de 7 dias

SEO otimizado com SSR, generateMetadata e generateStaticParams

Mock mode para desenvolvimento frontend independente da API

Destaques

O que torna especial.

Arquitetura Monorepo Full-Stack

3 projetos independentes (Storefront Next.js 16, Admin Panel Next.js 15 + TS, API NestJS 10) comunicando via REST. Cada projeto roda em porta própria com deploys independentes. Padrão BFF no storefront para segurança de autenticação.

Sistema de Orçamentos B2B

Fluxo completo de solicitação de orçamento substituindo carrinho tradicional. Cliente monta lista de produtos com cores e quantidades, solicita orçamento, e acompanha status pela área logada. Admin gerencia, precifica e responde pelo painel.

RBAC + JWT Duplo

Autenticação com dois JWT secrets separados (cliente e admin), guards específicos por tipo de usuário, e sistema RBAC com 4 roles (admin, manager, seller, purchasing) controlando acesso tanto no middleware server-side quanto na sidebar client-side.

DX e Produtividade

Factories genéricas como createCrudApi<T>() e hook useFetch<T>() no admin. Schema Drizzle com camelCase/snake_case automático. Mock mode no storefront para desenvolvimento desacoplado. Swagger auto-gerado para documentação da API.

Storefront (Next.js 16 + JSX)
  • Next.js 16 com App Router, RSC async pages e revalidate para cache ISR

  • Client Islands pattern: Server Components para SEO + Client Components para interatividade

  • BFF pattern com route handlers como proxy para API (cookies httpOnly)

  • React Hook Form + Zod para formulários com máscaras (CPF, CNPJ, CEP, telefone)

  • Carrinho via cookie JSON com chave única (product_id, color_product_id)

  • Mock mode automático quando API não está disponível

Admin Panel (Next.js 15 + TypeScript)
  • createCrudApi<T, TCreate, TUpdate>() factory para geração automática de endpoints CRUD

  • useFetch<T>(path) hook com suporte a skip condicional (path=null)

  • DataTable genérico com edição inline, exclusão e busca

  • RBAC em 3 camadas: middleware server-side, permissions.ts e sidebar filtering

  • Gestão de produtos com upload múltiplo de imagens, variantes e cores

  • Sistema de orçamentos com timeline de status e precificação

API (NestJS 10 + Drizzle ORM)
  • NestJS com módulos por domínio, DTOs com class-validator e Swagger auto-gerado

  • Drizzle ORM com PostgreSQL, migrations e schema type-safe

  • JWT duplo com guards separados (CustomerAuthGuard + AdminAuthGuard)

  • Soft delete padrão em entidades principais, hard delete em tabelas de junção N:N

  • Paginação padronizada com paginationMeta(total, page, perPage)

  • Upload S3 via Supabase Storage com organização por pastas (produtos, banners, etc.)

  • Rate limiting com ThrottlerGuard e proteção customizada em endpoints de auth

Infraestrutura
  • PostgreSQL como banco principal com schema relacional complexo (25+ entidades)

  • Supabase Storage (S3-compatible) para assets de imagens

  • Deploy independente de cada projeto com variáveis de ambiente separadas

  • Formatação unificada com Prettier (sem semi, single quotes, trailing comma none)