# Estrutura do Projeto Este documento apresenta a árvore de diretórios do repositório e a responsabilidade de cada pasta. ## Visão Geral ```text . ├── .env.example ├── README-old.md ├── README.md ├── docs/ │ ├── CODEX_STYLE_GUIDE.md │ ├── codigo_completo.md │ ├── collections/ │ └── estrutura.md ├── eslint.config.mjs ├── next-env.d.ts ├── next.config.ts ├── package-lock.json ├── package.json ├── postcss.config.mjs ├── public/ │ ├── file.svg │ ├── globe.svg │ ├── next.svg │ ├── vercel.svg │ └── window.svg ├── src/ │ ├── app/ │ ├── components/ │ ├── hooks/ │ ├── lib/ │ ├── modules/ │ ├── services/ │ └── styles/ └── tsconfig.json ``` ## Diretórios Principais ### `src/app` - **Páginas**: cada subpasta representa uma rota do App Router. - **API**: dentro de `src/app/api` ficam as API Routes em Edge Runtime. - **layout.tsx**: layout raiz usado em todas as páginas. ### `src/components` Componentes React compartilhados entre as páginas. Utilize _PascalCase_ para os nomes de arquivos. ### `src/hooks` Hooks responsáveis por consumir os serviços e manipular estado local. ### `src/lib` Inicialização do SDK do Appwrite e outras bibliotecas externas. ### `src/modules` Funcionalidades escritas com o antigo Pages Router (ex.: módulo de faturas). ### `src/services` Abstrações de acesso ao Appwrite. Cada serviço implementa operações CRUD da respectiva coleção. ## Convenções - Componentes em `src/components` devem seguir `PascalCase.tsx`. - Páginas e rotas usam nomes em _kebab-case_. - Variáveis de ambiente obrigatórias estão listadas em `.env.example`. Última atualização: 2025-07-15