Case técnico em destaque

Projeto Banco de Horas

Solução em PHP para controle de atendimentos, saldo mensal e anual, auditoria por unidade, portal do cliente e geração de PDF técnico com assinatura eletrônica opcional.

Destaques do projeto
  • Autenticação
  • Banco de horas
  • Portal cliente
  • PDF técnico
  • Assinatura
  • Backup zip
Resumo

Visão geral do produto

O sistema cobre o ciclo completo do atendimento técnico até o fechamento mensal de horas e excedentes.

01

Contexto

Operações com atendimento técnico precisavam consolidar dados comerciais e operacionais.

02

Objetivo

Automatizar apuração de horas, reduzir retrabalho e melhorar previsão de cobrança.

03

Usuários

Perfis admin, manager, employer e client com navegação e permissões dedicadas.

04

Resultado

Mais controle de saldo, rastreabilidade por unidade e evidência formal dos atendimentos.

Escopo

Módulos técnicos implementados

Estrutura confirmada em rotas, controllers, suporte e views do projeto.

Tela de apresentação do case no portfólio
  1. Autenticação e segurança

    Login, recuperação de senha por token, CSRF, rate limiter e sessão segura.

  2. Cadastros base

    Gestão de clientes, unidades e usuários com validações e relacionamento por tenant.

  3. Atendimentos e banco de horas

    Lançamento manual, filtros por período, saldo mensal/anual e cálculo de excedentes.

  4. Relatórios e backup

    PDF técnico com assinatura opcional, PDF mensal, PDF de excedentes e backup zip por conta.

Funcionalidades

Partes centrais da operação

Blocos funcionais que sustentam o uso diário do sistema no contexto administrativo e no portal do cliente.

Painel

KPIs de operação e produtividade técnica.

Cards de atendimento, ranking de técnicos e leitura rápida da operação para tomada de decisão.

Atendimentos

Registro técnico com regras de consistência.

Validação de cliente ativo, unidade vinculada, horário e tipo de serviço com rastreabilidade por usuário.

Relatórios

PDF técnico, mensal e cobrança de excedentes.

Emissão com mPDF, assinatura opcional por canvas e metadados de IP/localização no relatório técnico.

Arquitetura

Base técnica e regras de governança

Arquitetura em camadas simples com isolamento de dados por owner_admin_id e autorização por perfil.

Infraestrutura de software e desenvolvimento
  • PHP 8+ sem framework full-stack
  • Router e bootstrap autorais
  • PDO + prepared statements
  • MySQL / MariaDB
  • Bootstrap 5.3
  • mPDF 8.2
  • CSRF por sessão
  • Rate limiter em arquivo local
  • Role middleware
  • Tenant scope por owner_admin_id
  • Contrato por período (company_contracts)
  • Backup zip por tenant
Mídia

Área para fotos e vídeos do sistema

Navegue pelas imagens e thumbnails de demonstração do projeto.

FAQ técnico

Perguntas comuns sobre a solução

Pontos de decisão técnica e operacional para apresentação do case.

O projeto aplica owner_admin_id em users, companies e timesheets para isolamento por tenant.

Sim. O PDF técnico segue funcional em modo degradado sem imagens incorporadas.

O contractresolver usa company_contracts quando existe, com fallback para horas_contract e valor_hora_extra em companies.

Sim. O admin gera zip com dump SQL filtrado por tenant e arquivos do sistema, com exclusão de lixo técnico.
Contato

Quer evoluir este case para proposta comercial completa?