This commit is contained in:
JuruSysadmin
2025-06-17 13:41:48 -03:00
commit af154c3f7f
197 changed files with 50658 additions and 0 deletions

163
README.md Normal file
View 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