← Voltar ao blog

Por que Escolhi Feature-Sliced Design para Meu Portfólio

· Arquitetura FSD Organização

Manter um projeto organizado à medida que ele cresce é um desafio. Foi por isso que adotei o Feature-Sliced Design (FSD) neste portfólio.

O que é FSD?

FSD é uma metodologia de organização de front-end que separa o código em camadas concêntricas:

┌─────────────────────────────┐
│       Presentation          │  pages/ + app/
├─────────────────────────────┤
│       Application           │  features/
├─────────────────────────────┤
│        Domain               │  entities/
├─────────────────────────────┤
│     Infrastructure          │  content/
└─────────────────────────────┘

Camadas

Cada camada tem uma responsabilidade clara:

  • App — Configuração, layouts, estilos globais
  • Pages — Composição de features para formar páginas
  • Features — Casos de uso: listar posts, abrir galeria
  • Entities — Tipos e regras de negócio

Regra de dependência

A regra mais importante: camadas externas podem importar internas, nunca o contrário.

Isso significa que entities/ não importa nada de features/, e features/ não importa nada de pages/.

Por que funciona bem com Astro?

Astro incentiva componentes auto-contidos. Combinado com FSD, cada feature (como o background de mesh ou o blog) é completamente independente — tem seus componentes, lógica e estilos em um único lugar.

Para um portfólio que evolui, essa separação faz toda a diferença na hora de adicionar ou modificar funcionalidades sem quebrar o resto.