saveinmed/frontend/docs/estrutura.md

67 lines
1.8 KiB
Markdown

# 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