first
This commit is contained in:
163
README.md
Normal file
163
README.md
Normal file
@@ -0,0 +1,163 @@
|
||||
Portalweb
|
||||
|
||||
O código-fonte deste software é confidencial e não será fornecido.
|
||||
É estritamente proibido realizar engenharia reversa, descompilar ou desmontar o software.
|
||||
É proibido copiar, redistribuir ou sublicenciar este software sem autorização por escrito.
|
||||
A violação destes termos poderá resultar em responsabilização civil e criminal.
|
||||
|
||||
|
||||
|
||||
## Project Structure
|
||||
|
||||
src/
|
||||
├── app/ # Diretório de app do Next.js 13+ (roteamento)
|
||||
├── components/ # Componentes React
|
||||
│ ├── ui/ # Componentes de UI reutilizáveis
|
||||
│ ├── layout/ # Componentes de layout
|
||||
│ └── features/ # Componentes específicos de funcionalidades
|
||||
├── hooks/ # Hooks personalizados do React
|
||||
│ ├── useNavigation.ts # Hook para abstrair navegação da aplicação
|
||||
│ └── ... # Outros hooks personalizados
|
||||
├── utils/ # Funções utilitárias
|
||||
├── types/ # Tipos e interfaces TypeScript
|
||||
├── styles/ # Estilos globais e configuração de tema
|
||||
├── lib/ # Configurações de bibliotecas de terceiros
|
||||
├── constants/ # Constantes da aplicação
|
||||
└── public/ # Arquivos estáticos
|
||||
|
||||
|
||||
## Directory Details
|
||||
|
||||
### `/src/app`
|
||||
Contém a estrutura de diretório app do Next.js 13+
|
||||
|
||||
Responsável pelo roteamento e componentes de página
|
||||
|
||||
Inclui layout.tsx para layouts compartilhados
|
||||
|
||||
Inclui page.tsx para a página inicial
|
||||
|
||||
### `/src/components`
|
||||
- **ui/**: Componentes de UI reutilizáveis (ex: Botão, Input, Card)
|
||||
- **layout/**: Componentes de layout (ex: Cabeçalho, Rodapé, Barra Lateral)
|
||||
- **features/**: Componentes específicos de funcionalidades, que podem não ser reutilizáveis
|
||||
|
||||
### `/src/hooks`
|
||||
- Hooks personalizados do React para lógica compartilhada
|
||||
- Exemplo: useTheme para gerenciamento de tema
|
||||
- **useNavigation**: Abstrai a lógica de navegação comum, fornecendo métodos como:
|
||||
- `goToHome()`: Navega para a página inicial
|
||||
- `goToLogin()`: Navega para a página de login
|
||||
- `goToOrdersFind()`: Navega para a busca de pedidos
|
||||
- `goToOrderDetail(id)`: Navega para o detalhe de um pedido
|
||||
- `goBack()`: Volta para a página anterior
|
||||
- `navigateTo(url)`: Navega para uma URL específica
|
||||
|
||||
### `/src/utils`
|
||||
-Funções utilitárias para operações comuns
|
||||
-Exemplo: format.ts para formatação de datas e moedas
|
||||
|
||||
|
||||
### `/src/types`
|
||||
- Interfaces e tipos TypeScript
|
||||
|
||||
- Tipos comuns usados em toda a aplicação
|
||||
|
||||
### `/src/constants`
|
||||
- Constantes globais da aplicação
|
||||
- Rotas, breakpoints e outros valores estáticos
|
||||
|
||||
### `/src/styles`
|
||||
- Estilos globais e configuração de tema
|
||||
|
||||
- Configuração do Tailwind CSS (se estiver sendo utilizado)
|
||||
|
||||
### `/src/lib`
|
||||
- Configurações de bibliotecas de terceiros
|
||||
|
||||
- Clientes de API e outras integrações externas
|
||||
|
||||
### `/public`
|
||||
Arquivos estáticos (imagens, fontes, etc.)
|
||||
|
||||
Favicon e outros arquivos públicos
|
||||
|
||||
### Componentes
|
||||
Mantenha os componentes pequenos e com uma única responsabilidade
|
||||
|
||||
Use TypeScript para segurança de tipos
|
||||
|
||||
Siga o padrão de design atômico quando apropriado
|
||||
|
||||
Defina corretamente os tipos de props e valores padrão
|
||||
|
||||
### Hooks
|
||||
Crie hooks personalizados para lógica reutilizável
|
||||
|
||||
Mantenha os hooks focados em uma funcionalidade específica
|
||||
|
||||
Tipifique corretamente os parâmetros e retornos com TypeScript
|
||||
|
||||
### Styling
|
||||
Use Tailwind CSS para estilização
|
||||
|
||||
Siga uma convenção de nomes consistente
|
||||
|
||||
Mantenha os estilos modulares e reutilizáveis
|
||||
|
||||
### TypeScript
|
||||
Utilize uma configuração estrita de TypeScript
|
||||
|
||||
Defina interfaces apropriadas para todos os componentes e funções
|
||||
|
||||
Use inferência de tipos sempre que possível
|
||||
|
||||
### Code Organization
|
||||
Mantenha arquivos relacionados próximos uns dos outros
|
||||
|
||||
Use arquivos index.ts para importações mais limpas
|
||||
|
||||
Siga o princípio do menor privilégio
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Install dependencies:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
2. Run the development server:
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
3. Build for production:
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
## Development Guidelines
|
||||
|
||||
1. ### Criação de Componentes
|
||||
|
||||
Crie os componentes no diretório apropriado
|
||||
|
||||
Use TypeScript para segurança de tipos
|
||||
|
||||
Adicione documentação apropriada
|
||||
|
||||
2. ### Gerenciamento de Estado
|
||||
|
||||
Use hooks do React para estado local
|
||||
|
||||
Considere contextos para estado global
|
||||
|
||||
Mantenha o estado o mais próximo possível de onde é usado
|
||||
|
||||
3. ### Estilização
|
||||
|
||||
Use classes do Tailwind CSS
|
||||
|
||||
Mantenha os estilos consistentes entre os componentes
|
||||
|
||||
Use variáveis CSS para valores de tema
|
||||
Reference in New Issue
Block a user