Files
2026-09-01 10:46:29 -03:00

2.1 KiB
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.