Code-connect aplicação focada em rede social para pessoas desenvolvedoras, com área logada, permite registrar uma nova conta, listar posts, comentar e dar likes em cada post.
O projeto implementa uma rede social completa com:
- Home Page: Lista de posts
- Página de Post: Detalhes individuais do post
- Busca em Tempo Real: Sistema de busca client-side com hook personalizado
- API Routes: Endpoints para detalhe do post e comentarios
- Camada de Dados: Abstração para interação com Supabase
- Variáveis de ambiente - Configuração de credenciais Supabase e chaves de API
- Scripts SQL - Estruturação do banco de dados com autenticação e relacionamentos
- Supabase Auth - Integração de autenticação OAuth (Google, GitHub)
- Server-side authentication - Middleware para validar tokens em cada request
- Client-side protection - Hooks customizados (
useAuth,useProtectedRoute) - Área logada completa - Dashboard com posts, comentários e interactions
- Logout seguro - Limpeza de cookies e redirecionamento automático
- DevTools do Browser - Inspeção de elementos, Network e Console
- React Developer Tools - Profiling de componentes e análise de renders
- VS Code Debugger - Debug de Server Components e API Routes com breakpoints
- Server-side Debugging - Conexão direta do DevTools com o servidor Next.js
# Ativar debug do servidor
yarn run dev:debug # NODE_OPTIONS='--inspect'- Winston Logger - Biblioteca robusta para logs em níveis (info, error, warn)
- Transporte múltiplo - Logs em arquivo e console simultâneamente
- Contexto de eventos - Captura de userId, timestamp, timezone e ambiente
- Separação de logs -
combined.log(todos) eerror.log(apenas erros)
import { logEvent, logEventError } from "../eventLogger";
logEvent({ step: "AUTH", operation: "LOGIN_SUCCESS", userId });
logEventError({ step: "API", operation: "GET_POST_ERROR", userId, error });- Logs de aplicação - Erros técnicos, stack traces, debugging (servidor)
- Logs de negócio - Eventos do usuário, conversões, comportamentos (cliente + servidor)
- Cliente vs Servidor - Diferenças técnicas (Winston no servidor, console no cliente)
- Conformidade - Respeito a LGPD/GDPR ao logar dados de usuários
- GrowthBook SDK - Integração de feature flags dinâmicas sem redeploy
- Client Provider -
GrowthBookProviderpara ativar hooks em toda a aplicação - useFeatureValue hook - Consumir feature flags em componentes React
const showUpdateTime = useFeatureValue("show-update-time", false);- Por constantes - Valores hardcoded para testes locais
- Por variáveis de ambiente - Controle via
NEXT_PUBLIC_ouAPP_ENV - Por API (GrowthBook) - Dashboard para ativar/desativar sem código
- Rollouts graduais - Ativar para 10% → 50% → 100% dos usuários
- Rollbacks instantâneos - Desativar feature sem redeploy em caso de bug
- Deploy - Publicar código novo na infraestrutura (Vercel)
- Release - Ativar funcionalidade para usuários (via feature flag)
- Benefícios - Desacoplamento entre deploy e disponibilidade da feature
- Segurança - Testar em produção antes de liberar para todos
- CI/CD automático - Deploy automático a cada push
- Ambiente de preview - URLs de preview para cada PR
- Production readiness - Variáveis de ambiente seguras e performance monitorada
- Observabilidade - Logs e analytics em tempo real no dashboard Vercel
- Next.js 15 - Framework React com App Router
- React 18 - Hooks, Server/Client Components
- Supabase - Backend as a Service
- CSS Modules - Estilização modular
- Node.js 20+ - Runtime JavaScript
- Node.js 20+
- NPM ou Yarn
- Conta Supabase (configurada)
# Inicie o servidor de desenvolvimento
yarn run devEste projeto foi desenvolvido para demonstrar as diferentes estratégias de renderização do Next.js de forma prática e educativa, mostrando quando e como usar cada uma delas em cenários reais.