42 lines
2.1 KiB
Markdown
Executable File
42 lines
2.1 KiB
Markdown
Executable File
# Tecnologias e Stack
|
|
|
|
## Backend
|
|
- **Linguagem**: PHP 8.1+
|
|
- **ORM**: Illuminate/Database (Eloquent) - *Apenas para ORM, não usar outros componentes do Laravel desnecessariamente.*
|
|
- 🚫 **Paginação**: NÃO use o método `paginate()` do Eloquent nem a classe `Illuminate\Pagination`. O pacote de paginação do Laravel não está instalado. Implemente paginação manual usando `skip()`, `take()` e `count()`.
|
|
- **Template Engine**: Twig
|
|
- **Container**: PHP-DI
|
|
- **Router**: Nikic/Fast-Route
|
|
- **HTTP**: Nyholm/PSR-7
|
|
- **Logging**: Monolog
|
|
- **Imagens**: Intervention/Image
|
|
- **Excel**: PhpSpreadsheet
|
|
- **PDF**: FPDF
|
|
- **QR Code**: Endroid/QrCode
|
|
|
|
## Frontend
|
|
- **Framework CSS**: Bootstrap 5.3
|
|
- **JavaScript Padrão**: **Vanilla JS** (JavaScript puro) é o padrão para todas as interações no frontend.
|
|
- **Alpine.js** (Micro-framework para interatividade):
|
|
- ⚠️ **RESTRITO**: Use Alpine.js APENAS em componentes que exijam alta reatividade ou gerenciamento de estado complexo onde o Vanilla JS resultaria em código excessivamente verboso ou difícil de manter.
|
|
- 🚫 **PROIBIDO**: É estritamente proibido o uso de Alpine.js em selects dinâmicos que utilizam o módulo `globallists` (ex: Estado/Cidade). Nestes casos, o uso de Vanilla JS é mandatório.
|
|
- **Ícones**: **Bootstrap Icons** (OBRIGATÓRIO).
|
|
- 🚫 **PROIBIDO**: Font Awesome, Material Icons.
|
|
- **Editor Rico**: Quill (ver regras específicas em `RULES.md` ou `PADROES_CODIGO.md`).
|
|
- **Tabelas**: **DataTables.js (Versão COMPLETA)**.
|
|
- 🚫 **PROIBIDO**: `simple-datatables`. Use sempre a versão completa baseada em jQuery incluída no `dashboard.twig`.
|
|
- **Template Admin**: SBAdmin2
|
|
|
|
## Ambiente de Desenvolvimento
|
|
- **Docker**: Container `dockersyscms`.
|
|
- **URL Local**: `http://localhost:16240`
|
|
- **Banco de Dados**: MySQL
|
|
- Host: `localhost` (ou service name no docker)
|
|
- DB: `syscms`
|
|
- User: `root`
|
|
- Pass: `root`
|
|
|
|
## Regras de Dependências
|
|
1. **Vendor**: Nunca modificar arquivos na pasta `vendor/`.
|
|
2. **Composer**: Gerenciar todas as dependências PHP via `composer.json`.
|