{
  "id": 2425713,
  "title": "Feature-based: por que sua pasta components virou uma bagunça?",
  "url": "https://urgent.news/2026/08/21/feature-based-por-que-sua-pasta-components-virou-uma-bagunca",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-21T19:37:54.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/matheusdsilva01/feature-based-por-que-sua-pasta-components-virou-uma-bagunca-51lc"
  },
  "original_language": "pt",
  "account": "O problema com a pasta \"components\" em projetos front-end é que ela pode se tornar um caos. Isso pode acontecer devido a vários fatores, incluindo a forma como o projeto está organizado. Quando criamos um projeto do zero em qualquer framework, ele nos entrega uma estrutura padrão, chamada de Type-based. Essa estrutura nos permite desenvolver coisas simples, mas pode se tornar desorganizada à medida que adicionamos mais features e fluxos. Quando implementar uma nova feature, localizar o código correto pode ser difícil. Essa experiência me levou a explorar diferentes arquiteturas, como DDD, Clean Architecture, MVC e Micro-frontend, mas encontrei soluções complexas para algo simples. A solução que encontrei é a abordagem Feature-based. Essa abordagem parece simples e envolve quebrar o projeto em partes, como entidades ou domínios. Cada parte é autogerenciável e tem uma responsabilidade e propósito bem definidos. Por exemplo, em um projeto de filmes, podemos ter uma pasta \"features/movies\" contendo componentes, hooks, API e tipos relacionados a filmes. Isso traz modularidade, facilitando a identificação de onde trabalhar, testabilidade, escalabilidade e simplificando a adição de novas features. No entanto, existem contras também, como a necessidade de tomar decisões de implementação à medida que o projeto cresce, considerando trade-offs. Espero que essa abordagem inspire você a organizar seus projetos de forma mais eficiente.",
  "summary": "Acho que todo dev já passou pelo momento de se deparar com um projeto e se perder no meio de tantos arquivos. Isso pode ser resultado de N fatores, e um deles pode ser a forma como o projeto está organizado. Falando especificamente de frontend, quando criamos um projeto do zero em qualquer framework, ele vai lhe entregar uma estrutura padrão, chamada de Type-based em que você consegue desenvolver…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}