Voltar para o início
E-commerce & Segurança de Aplicações

Nexus Shop — E-commerce de Smartphones

Plataforma de e-commerce especializada em smartphones, construída com Next.js e TypeScript no frontend, Fastify e Prisma no backend, PostgreSQL para dados relacionais e Redis para cache e sessões. O projeto combina pagamentos com Stripe e Mercado Pago, autenticação com tokens rotativos e práticas de segurança para uma operação de comércio digital.

Next.jsTypeScriptFastifyPrismaPostgreSQLRedisStripeMercado PagoDocker

Destaques de Engenharia

Frontend e API organizados como aplicações independentes
Integração com Stripe e Mercado Pago
JWT com refresh token rotativo e RBAC
Validação com Zod, rate limiting e headers de segurança
Testes unitários, integração e E2E com CI/CD

Fluxo de Arquitetura

[Next.js Storefront] ──► [Fastify REST API] ──► [Prisma ORM]
          │                         │                  │
          ▼                         ▼                  ▼
      [Zustand]              [JWT / RBAC]       [PostgreSQL]
                                    │                  │
                              [Redis Cache]      [Orders / Products]
                                    │
                         [Stripe / Mercado Pago]

• Frontend: Next.js App Router, TypeScript, Tailwind, Zustand e componentes acessíveis

• Backend: Fastify com Prisma, autenticação JWT e documentação de API

• Dados: PostgreSQL para catálogo e pedidos, Redis para cache e sessões

• Operação: Docker Compose e pipeline de CI/CD com testes automatizados

Implementação em Código

Validação de pedido com Zodtypescript
const OrderSchema = z.object({
  items: z.array(z.object({
    productId: z.string().uuid(),
    quantity: z.number().int().positive(),
  })).min(1),
  paymentMethod: z.enum(["stripe", "mercado_pago"]),
});

Desafios Técnicos Resolvidos

Desafio:

Integrar pagamentos diferentes sem acoplar o checkout a um único provedor.

Resolução Implementada:

Separação da regra de pedido da implementação dos gateways, com contratos comuns para criação e confirmação de pagamentos.

Desafio:

Proteger operações sensíveis de autenticação e checkout.

Resolução Implementada:

Combinação de validação de entrada, rate limiting, CSRF, headers de segurança e rotação de refresh tokens.

Tem interesse em detalhes da arquitetura ou código deste projeto?

Conversar no WhatsApp