민준
BR - --:--:--
Portfólio Pessoal
Web App · 2026

Portfólio Pessoal

Monorepo full-stack com CMS headless, painel admin e internacionalização

Cliente

Pessoal

Atuação

Design & Desenvolvimento Full-Stack

Duração

Em desenvolvimento contínuo

Ano

2026

Stack
Next.js 15TypeScriptTailwind CSSshadcn/uiFramer Motionnext-intlSanity CMSNext Safe ActionPostgreSQLDrizzle ORMBetter AuthTurborepoVercel
O Desafio

Construir um portfólio que fosse além de um site estático — um sistema real, com área administrativa própria, CMS headless, gerenciamento de orçamentos e autenticação. O desafio foi projetar uma arquitetura escalável que separasse responsabilidades sem aumentar a complexidade de desenvolvimento do dia a dia.

A Abordagem

Adotei um monorepo com Turborepo para compartilhar pacotes entre as aplicações (web, admin) sem duplicação de código. O conteúdo do blog e dos projetos é gerenciado via Sanity CMS com webhook para revalidação automática. O painel admin foi construído com Next.js App Router, autenticação via Better Auth e banco de dados PostgreSQL com Drizzle ORM. A internacionalização cobre PT-BR e EN com next-intl.

Funcionalidades

O que foi construído

01

Admin Panel com CMS

Painel administrativo completo com Sanity Studio embutido para gerenciar posts do blog, projetos e clientes — tudo em um só lugar.

02

Sistema de Orçamentos

Fluxo completo de orçamentos: o cliente preenche um formulário multistep no site, o pedido chega ao admin e pode ser gerenciado com status e histórico.

03

Blog com MDX e revalidação

Blog integrado ao Sanity com revalidação via webhook no Vercel. Posts com progresso de leitura, tempo estimado e posts relacionados.

04

Internacionalização (PT/EN)

Todo o site é bilíngue — PT-BR e EN — usando next-intl com roteamento por locale e traduções organizadas por namespace.

05

Monorepo com Turborepo

Pacotes compartilhados entre apps: @repo/ui, @repo/auth, @repo/database, @repo/email, @repo/sanity — build e dev em paralelo com cache remoto.

Resultados

Métricas em Produção

5 apps/pacotesMonorepoweb, admin, ui, database, auth, email, sanity
2 idiomasi18n completoPT-BR e EN com roteamento por locale
Zero downtimeRevalidação ISRConteúdo atualizado via webhook sem rebuild

© 2026 Victor M. Santos