# 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
