Sobre o Projeto
O GestGov Licicon é uma aplicação web desenvolvida em Laravel para gerenciamento completo de processos licitatórios públicos, direcionada a prefeituras municipais. O sistema automatiza e otimiza o fluxo de trabalho de licitações, substituindo processos manuais repetitivos e reduzindo erros, tempo e custos operacionais. Ele foi projetado para atender às necessidades de gestores de 12 prefeituras, permitindo o controle centralizado de licitações, contratos e fiscalizações.
Arquitetura e Tecnologias
- Framework: Laravel 12 (PHP 8.2+), com autenticação via Laravel Breeze e Sanctum para APIs.
- Banco de Dados: MySQL/PostgreSQL, com migrations e seeders para estruturação.
- Frontend: Blade templates com Tailwind CSS para interfaces responsivas; JavaScript para interatividade (ex.: modais AJAX).
- Geração de Documentos: Integração com bibliotecas PDF (DomPDF, FPDF, TCPDF) para criação automática de minutas, contratos e relatórios.
- Importação/Exportação: Maatwebsite Excel para importação de lotes e itens via planilhas.
- Permissões: Spatie Laravel Permission para controle de acesso baseado em roles (ex.: admin, secretário, fiscal).
- Fila de Tarefas: Jobs assíncronos para geração de documentos pesados (ex.: GerarTodosDocumentosJob), com cache para status de processamento.
- Outros: Notificações, logs, testes unitários (PHPUnit), e deploy via Vite.
Principais Módulos e Funcionalidades
- Gerenciamento de Usuários e Prefeituras
- CRUD de usuários com perfis (admin, gestor, fiscal).
- Cadastro e gestão de prefeituras, unidades e responsáveis.
- Dashboard inicial com visão geral dos processos por prefeitura.
- Processos Licitatórios (Processos)
- Criação e edição de processos com campos como modalidade (ex.: pregão, concorrência), número do processo, objeto, tipo de contratação e status.
- Enums para controle de status (ativo, cancelado, adiado), modalidade e tipos.
- Ações: iniciar, republicar edital/processo, cancelar (com motivo), adiar (com justificativa), reverter cancelamento.
- Geração automática de PDFs (minutas, editais) e download individual ou em lote de documentos.
- Polling assíncrono para status de geração de documentos.
- Lotes e Itens
- Importação de lotes via Excel (LotesImport).
- Gestão de itens por lote: descrição, unidade, quantidade, valores unitários/totais, marca/modelo.
- Vinculação a vencedores e controle de estoque.
- Finalização de Processos
- Cadastro de vencedores e reservas.
- Importação de dados via Excel.
- Geração de PDFs de finalização e relatórios.
- Contratos
- Contratos manuais (externos) e vinculados a processos.
- Campos editáveis: número, data de assinatura, fonte de recurso, comarca.
- Geração automática de PDFs de contratos.
- Vinculação de contratações a contratos existentes.
- Contratações e Estoque
- Contratações individuais ou em lote por vencedor.
- Controle de estoque: verificação de disponibilidade, relatórios, dashboard e recálculo automático.
- Confirmação e finalização de contratações.
- Fiscalizações
- Inspeções de contratos com relatórios técnicos, notificações e PDFs.
- Busca e seleção de contratos para fiscalização.
- Plano de Contratação Anual (PCA)
- Criação, edição e geração de PDFs de planos anuais.
- Gestão de itens por PCA.
- Estimativa de Preços (ETP)
- Criação e importação de ETPs (inteligentes) com itens.
- Aprovação/rejeição por admins; vinculação a processos.
- Exportação de itens e geração de PDFs.
- Solicitações Internas
- Sistema de chat administrativo para solicitações entre usuários.
- Respostas e finalização de solicitações.
- Outros Recursos
- Reservas: Gestão de reservas em processos.
- Documentos: Geração assíncrona via jobs, com merge e carimbo de PDFs.
- Relatórios: Diversos PDFs (processos, contratos, fiscalizações, PCA, ETP).
- Segurança: Middleware de autenticação, permissões granulares e proteção contra CSRF.
- Testes: Cobertura com PHPUnit para features e units.
Fluxo de Uso Típico
- Criação: Usuário cria um processo licitatório vinculado a uma prefeitura.
- Importação: Importa lotes/itens via Excel.
- Execução: Inicia o processo, gera minutas automaticamente.
- Finalização: Cadastra vencedores, reservas e finaliza.
- Contrato: Gera contrato vinculado às contratações.
- Fiscalização: Realiza inspeções e gera relatórios.
- Relatórios: Baixa todos os documentos em lote via job assíncrono.
Benefícios e Impacto
- Automação: Elimina criação manual de minutas e contratos, gerando-os em segundos via templates PDF.
- Escalabilidade: Suporta múltiplas prefeituras com controle centralizado.
- Conformidade: Alinha com legislações de licitações públicas (ex.: Lei 8.666/93 no Brasil).
- Usabilidade: Interface intuitiva com dashboards e permissões personalizadas.
- Performance: Jobs em fila evitam travamentos em processos grandes; cache otimiza carregamentos.