Sistema de Controle de Licenças Fortinet
Plataforma web para gestão, controle de consumo e conciliação de licenças Fortinet baseadas em pontos. Automatiza o rastreamento de Point Packs, equipamentos FortiGate e cruzamento com base oficial da fabricante.
Contexto
Uma grande operadora de telecomunicações (Claro) gerencia suas licenças Fortinet através de um sistema de pontos (Point Packs). O controle manual vinha gerando problemas de rastreabilidade, divergências entre o consumo registrado internamente e a base oficial da Fortinet, além de dificuldade para conciliar e auditar os gastos.
Desafio
- Visibilidade: Não havia um dashboard consolidado por grupo (Responsável + Projeto) mostrando pontos totais, consumidos e saldo.
- Conciliação manual: O processo de cruzar a base oficial da Fortinet (.xlsx) com os registros internos era feito em planilhas, sujeito a erros.
- Rastreabilidade: Dificuldade para saber em qual equipamento (FortiGate) e cliente os pontos estavam sendo alocados.
- Auditoria: Sem histórico confiável de consumo por serial number e data.
Solução Implementada
Desenvolvi uma aplicação web completa em Python/Flask com as seguintes funcionalidades:
- Dashboard executivo: Visão consolidada por grupo (Responsável + Projeto) com pontos totais, consumidos, saldo e percentual de utilização.
- Cadastro de Point Packs: Registro de pacotes de pontos adquiridos com data de expiração, responsável e projetos vinculados.
- Registro de equipamentos: Cadastro de equipamentos FortiGate com cálculo automático de consumo diário baseado no modelo e serial number.
- Conciliação automática: Upload da base oficial Fortinet (.xlsx) e cruzamento automático por Serial Number, calculando diferenças entre pontos calculados e pontos oficiais.
- Autenticação segura: Login protegido com senha, sessão Flask e proteção contra SQL injection.
Arquitetura Técnica
sistema_py/
├── app.py # Rotas, lógica principal e autenticação (Flask)
├── wsgi.py # Entry point para produção (Gunicorn)
├── Procfile # Configuração de deploy (gunicorn app:app)
├── requirements.txt # Dependências Python
├── sistema.db # Banco de dados SQLite (WAL mode)
├── static/
│ └── claro.css # Estilos globais
└── templates/
├── login.html # Tela de login
├── index.html # Dashboard
├── pontos_bolsao.html # Listagem de Point Packs
├── novo_bolsao.html # Formulário de novo bolsão
├── pontos_utilizados.html # Listagem de equipamentos
├── novo_ponto_utilizado.html # Formulário de novo consumo
└── conciliacao.html # Upload e resultado da conciliação
Banco de Dados
SQLite com WAL mode para concorrência, composto por 3 tabelas principais:
- pontos_bolsao — Pacotes de pontos adquiridos (Point Packs) com responsável, projeto e datas
- pontos_utilizados — Equipamentos FortiGate com serial number, modelo e custo diário
- base_conciliacao — Base oficial Fortinet para cruzamento
Segurança
- Todas as rotas protegidas com
@login_required - Queries parametrizadas — proteção contra SQL injection
- Secret key configurada para proteção de sessão Flask
- WAL mode no SQLite — evita travamentos em produção
Resultados
- Eliminação completa de planilhas manuais para controle de licenças
- Conciliação automática com base oficial Fortinet em segundos
- Dashboard em tempo real com visibilidade por equipe e projeto
- Rastreabilidade completa desde o Point Pack até o equipamento individual
- Deploy automatizado no Render.com via GitHub Actions
Papel de Carlos Costato
Desenvolvimento full-stack completo: arquitetura do sistema, modelagem do banco de dados, implementação das rotas Flask, desenvolvimento do frontend responsivo, lógica de conciliação, deploy e manutenção em produção.