8 de abril de 2026 • 1 minutos de leitura
Ao desenvolver aplicações modernas fullstack, é comum termos múltiplos projetos: backend, frontend, documentação, design system e configurações compartilhadas. Para organizar tudo isso no projeto Fincheck, utilizei a abordagem monorepo com Turborepo.
Monorepo é quando vários projetos vivem dentro do mesmo repositório. Em vez de ter:
Você tem um único repositório com tudo.
Exemplo de estrutura:
apps/
web -> frontend React (Vite)
api -> backend NestJS
docs -> documentação (Next.js)
packages/
ui -> componentes compartilhados
eslint-config
typescript-config
Pasta Função
apps/web --> Frontend
apps/api --> Backend
apps/docs --> Documentação
packages/ui --> Componentes reutilizáveis
packages/config --> Configuraçõe compartilhadas
Isso permite, por exemplo, importar componentes do UI direto no frontend:
import { Button } from '@fincheck/ui'O Turborepo gerencia builds e tarefas.
Exemplo de pipeline no turbo.json:
{
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**"]
},
"lint": {},
"test": {},
"typecheck": {}
}
}Usar monorepo com Turborepo deixa o projeto com estrutura profissional e escalável, mesmo sendo um projeto pessoal.