1

Minha visão como alguém que nunca trabalhou CLT como DEV.

De programador a Gerente de IA

Ultimamente tenho reparado na capacidade dos modelos de criar aplicações grandes, com testes automatizados e cada vez menos erros.

Comecei a desenvolver um PDV para comércio e percebi, a IA está muito boa em codificar. O que vai importar agora é saber como mandar ela fazer. Viramos Gerentes de IA.

Isso exige entender como funcionam as estruturas, como funciona uma API, como versionar um projeto e até como implementar um sistema de licença, para que, se você vender seu software, consiga controlá-lo caso o cliente não pague.

Acredito que o futuro é esse.

Meu PDV está em desenvolvimento há uns 3 dias e já era usável desde a primeira versão. Mas um sistema completo precisa de lapidação, e é isso que muita gente não está entendendo. Querem tudo em um prompt só, mas não funciona assim. Agora o caminho é fazer uma coisa de cada vez e ir implementando aos poucos.

Como o PDV nasceu

Começou com uma ideia, separando o servidor do desktop:

PDV/
│
├── cliente/ # Aplicativo desktop
│ ├── main.py # Inicialização
│ ├── app.py # Controlador principal
│ ├── api_client.py # Comunicação HTTP
│ ├── venda.py # Carrinho e cálculos locais
│ ├── dados.py # Modelos locais
│ ├── theme.py # Cores e estilos
│ │
│ └── ui/ # Componentes Flet
│ ├── sidebar.py
│ ├── catalogo.py
│ ├── checkout.py
│ ├── pagamento.py
│ ├── abas.py
│ ├── clientes.py
│ ├── estoque.py
│ ├── caixa.py
│ ├── conferencia_caixa.py
│ ├── backups.py
│ └── mascaras.py
│
├── servidor/ # Backend FastAPI
│ ├── api.py # Rotas e regras
│ ├── banco.py # SQLite e transações
│ ├── esquemas.py # Modelos Pydantic
│ ├── seguranca.py # Hashes e autenticação
│ ├── clientes.py # Validações de clientes
│ ├── backups.py # Backup e restauração
│ ├── vitta.sqlite3 # Gerado localmente
│ └── backups/ # Cópias do banco
│
├── tests/ # Testes automatizados
├── docs/
│ └── ROADMAP.md
├── README.md
├── .gitignore
│
├── iniciar_pdv.sh # Script local
├── iniciar_servidor.sh # Script local
├── publicar.sh # Script local Git
└── repositorio.conf # Configuração local

O publicar.sh é uma automação que criei para o Git: ele cuida da versão, do patch e do commit no formato correto. Sem precisar ficar repetindo:

git add .
git commit -m "IAUHU"

Só rodo ./publicar.sh. Ele verifica apenas os arquivos alterados e envia para o GitHub.

Evolução: o servidor organizado em camadas

Com o tempo, o backend foi reorganizado:

servidor/
├── api.py
├── core/
│ ├── banco.py
│ └── seguranca.py
├── rotas/
│ ├── autenticacao.py
│ ├── produtos.py
│ ├── clientes.py
│ ├── vendas.py
│ ├── caixa.py
│ ├── estoque.py
│ ├── gestao.py
│ └── backups.py
├── servicos/
│ ├── vendas.py
│ ├── estoque.py
│ └── financeiro.py
└── repositorios/
├── produtos.py
├── vendas.py
└── clientes.py

Sim, fiz tudo em Python, porque eu gosto kkk. Mas, como o backend é independente, posso recriar o PDV depois em C++, Java ou o que for melhor para o futuro do comércio.

Próxima etapa

Criar um servidor de licenças. Vou hospedar no meu homelab, um notebook com Pentium e 4 GB de RAM kkk.

É esse o meu relato. Vamos criar.

Carregando publicação patrocinada...