Template Website

đź“‚ Estrutura do Projeto

📦 my-nextjs-app
├── 📂 public
│   └── (Arquivos estáticos acessíveis publicamente, como imagens e ícones)
├── 📂 src
│   ├── 📂 app
│   │   ├── 📂 [lang] (Internacionalização - tudo dentro será traduzido)
│   │   │   ├── 📂 about (Página sobre, acessível como /pt/about ou /en/about)
│   │   │   ├── layout.tsx (Layout global, aplicável a todas as páginas traduzidas)
│   │   │   ├── page.tsx (Página inicial internacionalizada, ex: /pt ou /en)
│   │   ├── 📂 dashboard
│   │   │   ├── page.tsx (Página do dashboard)
│   │   └── 📂 (outras rotas...)
│   ├── 📂 components
│   │   ├── 📂 common
│   │   │   └── (Componentes globais e reutilizáveis, como Button, Modal, Input)
│   │   ├── 📂 layout
│   │   │   └── (Componentes de layout, como Navbar, Footer, Sidebar)
│   ├── 📂 hooks
│   │   └── (Custom hooks criados para facilitar a lógica e reutilização de código)
│   ├── 📂 i18n
│   │   ├── i18n.config.ts (Configuração de internacionalização)
│   │   ├── dictionaries/ (Dicionários de idiomas)
│   ├── 📂 styles
│   │   └── (Arquivos de estilização global, como `global.css`)
│   ├── 📂 types
│   │   └── (Definições de tipos TypeScript)
│   ├── 📂 lib
│   │   └── (Bibliotecas customizadas específicas da aplicação)
│   └── 📂 middleware.ts (Middleware para internacionalização)
└── next.config.js (Configuração do Next.js)
└── package.json (Dependências e scripts do projeto)
└── tsconfig.json (Configuração do TypeScript)
└── .env (Variáveis de ambiente)
        

📜 Internacionalização ([lang])

A pasta [lang] é responsável pela internacionalização do site. Todas as páginas dentro dessa pasta serão acessíveis com um prefixo de idioma, como /pt ou /en. Por exemplo:

đź“‚ Detalhes das Pastas

/public

Armazena arquivos estáticos acessíveis publicamente, como imagens, vídeos e favicons. Essa pasta é usada para qualquer recurso que precise ser acessível diretamente no navegador. Escolha: Colocar todos os arquivos estáticos aqui facilita o acesso e permite uma gestão clara dos recursos públicos da aplicação.

/src/app

A pasta principal para as rotas e páginas da aplicação. No Next.js 13, esta pasta introduz uma maneira mais moderna e eficiente de organizar as rotas, utilizando layouts aninhados e segmentação de rotas.

/src/components

Organiza componentes reutilizáveis e modulares.

âś… BenefĂ­cios Desta Estrutura