
Sistema de Controle de Estoque Industrial
Este sistema Full-Stack foi desenvolvido para revolucionar o Planejamento e Controle de Produção (PCP) no chão de fábrica. A solução vai muito além de um simples CRUD: ela gerencia ativamente os estoques de matéria-prima, organiza a engenharia de produtos (Fichas Técnicas/Receitas) e fornece inteligência de negócios para maximizar a rentabilidade industrial.
A Escolha do Quarkus (Java 17) no Backend
Para o back-end, a escolha do Quarkus aliado ao Hibernate Panache permitiu criar uma API REST extremamente rápida, com inicialização quase instantânea e baixo consumo de memória. Toda a persistência de dados foi modelada em um banco relacional PostgreSQL e a infraestrutura conteinerizada via Docker.

Visualização dos Endpoints da API.
Front-end Reativo e UX Avançada
A interface de operador foi construída utilizando React.js (Vite) e TypeScript para garantir segurança e escalabilidade na tipagem dos dados. O visual moderno e Full-Screen baseia-se no Material UI (MUI v5), contando com painéis inteligentes e dashboards de BI que calculam o lucro potencial da fábrica em tempo real.

Interface da aplicação renderizando o Dashboard de BI e Planejamento.
Inteligência Algorítmica: Otimização de Produção
O grande diferencial técnico deste software é o seu Simulador de Produção. Implementei um Algoritmo Guloso que cruza a disponibilidade de insumos com o valor agregado dos produtos finais. Ele analisa os gargalos e sugere automaticamente o plano de produção ideal para extrair o maior lucro possível com o estoque atual, gerando relatórios precisos de "Uso vs. Sobra".
Endpoints RESTful e Clean Code
A arquitetura do código obedece a uma separação clara de responsabilidades (Model, DTO, Resource, Service). Abaixo, um exemplo bem estruturado proporcionado pelo padrão Active Record do Panache na manipulação de entidades diretamente nos controllers JAX-RS:
import jakarta.ws.rs.*;import jakarta.ws.rs.core.Response;import jakarta.validation.Valid;import org.jboss.logging.Logger;@Path("/api/estoque")@Produces(MediaType.APPLICATION_JSON)@Consumes(MediaType.APPLICATION_JSON)public class ProdutoResource {private static final Logger LOG = Logger.getLogger(ProdutoResource.class);@GET@Path("/critico")public List<Produto> listarEstoqueCritico() {LOG.info("Monitoramento: Buscando produtos abaixo da margem de segurança");// Query declarativa simplificada via Hibernate Panachereturn Produto.find("quantidadeAtual <= quantidadeMinima").list();}@POST@Transactionalpublic Response adicionarProduto(@Valid Produto produto) {if (Produto.count("sku", produto.sku) > 0) {LOG.warnv("Tentativa de duplicidade. SKU: {0}", produto.sku);return Response.status(Response.Status.CONFLICT).entity("SKU já cadastrado no sistema.").build();}produto.persist();LOG.infov("Novo produto integrado ao estoque. ID: {0}", produto.id);return Response.status(Response.Status.CREATED).entity(produto).build();}}
Destaques da Implementação
- •Observabilidade (Logs)Em chãos de fábrica, a rastreabilidade é inegociável. A injeção do `Logger` (JBoss) garante auditoria em tempo real sobre quem consulta dados críticos ou tenta inserir duplicidades.
- •Regras de Negócio ExpressivasO uso do método `.find("quantidadeAtual <= quantidadeMinima")` do Panache elimina a necessidade de consultas SQL complexas, focando a leitura diretamente na regra de negócio do estoque.
- •Integridade de Dados (@Valid)A anotação na assinatura do método garante que o payload JSON seja validado (ex: campos nulos, limites de caracteres) antes mesmo de a requisição atingir a lógica do banco de dados.
- •Controle de Concorrência (Conflict)O sistema protege a base contra inconsistências industriais (como o cadastro duplo de um mesmo código SKU), retornando o status HTTP 409 (Conflict) adequadamente.
- •Transações Seguras (@Transactional)Garante o princípio ACID. Caso haja qualquer falha de rede ou validação no meio do processo de salvamento, toda a operação sofre rollback automático, evitando dados pela metade.