Sobes.tech
Middle+

Qual abordagem você usou ao construir a arquitetura do seu projeto?

sobes.tech IA

Resposta da IA

Utilizei uma abordagem baseada em componentes, seguindo os princípios do design atómico. Dividi o projeto em componentes pequenos e reutilizáveis, agrupando-os por níveis de abstração: átomos, moléculas, organismos, modelos e páginas.

  • Átomos: Elementos básicos (botões, inputs, ícones).
  • Moléculas: Combinações de átomos (campo de entrada com botão).
  • Organismos: Grupos de moléculas e/ou átomos (cabeçalho, rodapé).
  • Modelos: Composições de organismos e moléculas que definem a estrutura da página (layout da página).
  • Páginas: Instâncias concretas de modelos com dados reais.

Isto permitiu alcançar:

  • Alta reutilização de código
  • Facilidade de manutenção e escalabilidade
  • Facilidade de testar componentes
  • Melhor interação entre designers e desenvolvedores

Utilizei React (ou Vue.js, dependendo do framework utilizado no projeto), gerindo o estado através de Redux (ou Vuex).

A estrutura de diretórios está organizada por componentes, não por tipo de ficheiro, o que melhora a acessibilidade e a coesão do código.

// Exemplo de estrutura de diretórios
src/
  components/
    atoms/
      Button/
        Button.js
        Button.module.css
    molecules/
      InputWithButton/
        InputWithButton.js
        InputWithButton.module.css
    organisms/
      Header/
        Header.js
        Header.module.css
  containers/ // Para componentes relacionados com lógica e dados
    UserList/
      UserList.js
      UserList.module.css
  pages/
    HomePage/
      HomePage.js
      HomePage.module.css
  redux/ // Ou vuex
    actions/
    reducers/
    store.js
  utils/ // Funções auxiliares
  api/ // Trabalho com API