Pular para o conteúdo principal
JP

João Paulo Pereira

FULL STACK DEV

  • Home
  • Sobre
  • Projetos

© 2026 João Paulo Pereira. Todos os direitos reservados.

Projetos

Uma seleção dos meus trabalhos mais significativos

Full Stack

Europa.viagens — Agência de Viagens

Plataforma full-stack para agência de viagens consultiva: captura de leads, propostas comerciais versionadas, roteiros assistidos por IA e dashboard RBAC para agentes e administradores

Contexto

Negócio de agenciamento consultivo (não-transacional): a agência não processa pagamentos — ela captura interesse qualificado, monta pacotes personalizados, emite propostas e acompanha o ciclo de venda até o fechamento offline. O sistema instrumenta esse funil de ponta a ponta, da landing pública ao dashboard interno, com IA aplicada onde gera tempo real.

Stack

Next.js 15TypeScriptPrisma 6PostgreSQL (Neon)NextAuth 5ZodTailwind CSSGemini AISerpApiUpstash RedishCaptcha@react-pdf/rendererVercel

Processo

Modelagem do funil consultivo: Lead → Pacote → Proposta → Roteiro → Conversão, com status enumerado e transições auditáveis

Camada de IA aplicada com economia: Gemini Text monta roteiro dia-a-dia e Gemini Vision analisa capa do pacote — sempre com aprovação humana

RBAC granular (agente/admin) aplicado em middleware + Server Actions; agente vê apenas a própria carteira

Segurança em profundidade: NextAuth 5 split config, Zod em todas as fronteiras, rate limiting Upstash, hCaptcha em formulários públicos, soft delete LGPD

DEMO_MODE com stubs: portfolio público sem custo de APIs pagas, mantendo o shape igual ao das integrações reais

Impacto

Plataforma real para uma agência consultiva com IA aplicada com critério: tempo de montagem de proposta projetado de ~2h para ~20min (-83%), padronização visual de PDFs e rastreabilidade de engajamento do cliente — dados antes inexistentes no fluxo por e-mail. Zero rotas /api sem requireAuth + requireRole no audit; 100% TypeScript strict.

Ver Projeto
Full Stack

TourPilot Dashboard

Template administrativo full-stack (Next.js 15 + Prisma + SQLite + NextAuth) para operação de tours turísticos — RBAC, 2FA, i18n e relatórios. Construído para apresentação técnica, não para uso final.

Contexto

Projeto fictício de apresentação que modela o domínio de operação turística (tours, sessões, guias, reservas, reviews, financeiro) como vitrine de arquitetura full-stack moderna. O nome e a marca são ficcionais; o foco é demonstrar decisões técnicas, RBAC granular, segurança (2FA) e estrutura pronta para escalar — não um produto em operação real.

Stack

Next.js 15TypeScriptPrismaSQLiteNextAuthTailwindshadcn/uiRadixVercelDocker

Processo

Template de apresentação com seed determinístico: setup em < 2 min, dados consistentes para demos

RBAC em três papéis (Admin / Equipe / Guia) aplicado em 100% das rotas /api via middleware central de permissões

Segurança por padrão: 2FA TOTP, bcrypt, validação zod em todas as boundaries, audit log de ações sensíveis

i18n nativa em 4 idiomas (pt/en/es/fr) com fallback determinístico — strings centralizadas, sem hardcode em componentes

Stubs de integração (OTA, e-mail, pagamento) ativáveis por feature flag: demo offline, produção plugável

Impacto

Template de ~12k linhas TS/TSX que demonstra um stack full-stack maduro em escala compacta: 14 rotas, RBAC granular, 2FA, i18n, relatórios e build de 30s com First Load de 102 kB. Pronto para ser destacado em entrevistas técnicas e usado como base para evoluir em produto real.

Ver ProjetoVer Código
Full Stack

JLA Metal Works — ERP de Caldeiraria Industrial

Sistema interno de gestão comercial e operacional para caldeiraria industrial: clientes, propostas técnicas, leads do site público e auditoria — com PDFs gerados sob demanda, autenticação multi-fator de bloqueio e deploy serverless.

Contexto

Caldeiraria sem CRM: propostas em planilha, leads do site em e-mail solto, histórico de relacionamento em cabeças. O projeto centraliza o ciclo comercial (lead → cliente → proposta → PDF assinado) com trilha de auditoria LGPD-ready e site institucional integrado ao mesmo backend.

Stack

Next.js 14TypeScriptNextAuth v5Prisma 5PostgreSQL (Neon)Tailwind CSSReact-PDFAWS S3Upstash RedisZodVitestGitHub ActionsVercel

Processo

App Router + RSC: páginas server-rendered com Client Components isolados em ilhas — sem hidratação desnecessária

NextAuth v5 (Credentials + JWT HS256): lockout progressivo após 5 tentativas, auditoria de LOGIN/LOGIN_FALHA, rotação de secret preparada

Pipeline de API tipado (compose): middleware encadeado — auth → role → rate-limit → CSRF → Zod → handler — com erro padronizado em todas as rotas

Uploads seguros: presigned PUT no S3 (5 min), validação de magic bytes server-side, rate-limit por IP

PDFs server-side: templates React-PDF (proposta comercial + técnica) gerados sob demanda, sem dependência de browser

Observabilidade: pino estruturado com transport Logtail opt-in, audit log fail-safe (nunca derruba request)

CI/CD: GitHub Actions (lint + typecheck + 61 testes vitest + coverage) → Vercel região gru1

Impacto

Substituição completa de planilha + e-mail por sistema com auditoria. Backend serverless escala sob demanda (Neon + Vercel + S3) sem servidor para gerir. Trilha LGPD desde o dia 1: cada ação sensível registrada com IP, user-agent e diff.

Automação

Gerador de Relatórios — IA

Sistema inteligente que transforma dados brutos em relatórios completos, com análise via IA e geração automática de PDFs

Contexto

Dados dispersos viram relatórios acionáveis. Este projeto automatiza o processo completo: ingestão de dados, análise com IA, geração de insights e PDFs profissionais. IA aplicada para reduzir tempo operacional.

Stack

Node.jsNext.jsTypeScriptOpenAI APIPDFKitZodVercel

Processo

API Routes serverless: escalabilidade e deploy contínuo via Vercel

Pipeline de parsing: aceita múltiplos formatos (JSON, CSV, texto livre)

Prompts modelados: análise consistente para gerar resumo executivo, insights e recomendações

Templates de PDF: layout profissional com seções dinâmicas

Validação robusta: Zod para segurança e previsibilidade de entrada

Arquitetura modular: componentes reutilizáveis para integração em outras operações

Impacto

Integração real de IA em pipeline de produção serverless. Dados brutos transformados em relatórios acionáveis com análise consistente. Sistema modular: cada etapa do pipeline substituível sem reescrever o restante.

Ver Projeto
Automação

Automação com IA — Documentação

Workflow automatizado para geração de documentação técnica

Contexto

Documentação consome tempo. IA bem direcionada acelera sem perder qualidade. Criei um fluxo para gerar docs de APIs e testes.

Stack

Node.jsOpenAI APIMarkdownGit HooksPostman

Processo

Prompts estruturados: templates para diferentes tipos de documentação

Integração com código: extração automática de rotas e schemas

Revisão humana: IA sugere, desenvolvedor valida e ajusta

Versionamento: documentação vive junto com código no Git

Testes documentados: geração de cenários de teste a partir de specs

Impacto

70% de redução no tempo de documentação. Qualidade consistente. Desenvolvedores documentam mais porque ficou mais fácil.

Data Engineering

Integração de Dados — SQL

Serviço de sincronização e transformação de dados entre sistemas

Contexto

Sistemas diferentes precisam conversar. Este projeto integrou múltiplas fontes de dados com SQL como ponte.

Stack

Node.jsPostgreSQLMySQLTypeScriptCron Jobs

Processo

Mapeamento de schemas: entender estrutura de cada base de dados

Scripts de migração: ETL simples para mover e transformar dados

Queries otimizadas: índices, joins eficientes, evitar N+1

Agendamento: cron jobs para sincronização periódica

Logging estruturado: rastreabilidade de cada operação

Impacto

Eliminação de sincronização manual. Dados consistentes com rastreabilidade de origem. Pipeline ETL modular — cada etapa isolada, testável e extensível.

Backend

API REST Modular

API backend com Node.js, TypeScript e arquitetura em camadas

Contexto

APIs bem estruturadas facilitam manutenção e evolução. Este projeto foi sobre construir uma base sólida com separação clara de responsabilidades.

Stack

Node.jsTypeScriptExpressPostgreSQLJWTGit

Processo

Estruturação em camadas: rotas, controllers, serviços, repositórios

Documentação-first: desenhar contratos e endpoints antes do código

Autenticação JWT: implementação de login e proteção de rotas

Integração com PostgreSQL: modelagem de dados e queries otimizadas

Boas práticas: Clean Code, funções puras, tratamento de erros consistente

Impacto

Código legível que facilita onboarding de novos desenvolvedores. Estrutura modular que permite adicionar features sem quebrar o existente.

Full Stack

Portfólio — Identidade Digital

Este site — narrativa consciente, código limpo, design intencional

Contexto

Um portfólio não é apenas vitrine. É manifesto. Cada seção comunica quem sou, o que valorizo, como penso.

Stack

Next.jsTypeScriptTailwind CSSFramer MotionVercel

Processo

Desenho de identidade: essência filosófica antes de código

Estrutura narrativa: capítulos que contam história, não apenas listam skills

Animações intencionais: movimento com propósito, performance preservada

Sistema de temas: dark/light com transições suaves

SEO e acessibilidade: metadata, semântica HTML, contraste de cores

Impacto

Comunicação clara da identidade técnica e filosófica. Portfólio que evolui junto com o trabalho. Primeiro contato profissional estruturado como argumento, não como lista.

Ver Código