Sistema de gerenciamento de inventário industrial desenvolvido em Java, projetado para controlar peças, ferramentas e equipamentos utilizados em manutenção e produção.
O Inventory Management System foi criado para resolver um problema comum em ambientes industriais: o controle eficiente de inventário de peças e ferramentas utilizadas em processos de manutenção e operação de máquinas.
Sem um sistema adequado de gerenciamento de estoque, empresas frequentemente enfrentam problemas como:
- indisponibilidade de peças críticas
- atraso em manutenções
- perda ou extravio de ferramentas
- falta de visibilidade sobre o uso de equipamentos
Este sistema centraliza o controle do inventário, permitindo que usuários autorizados:
- consultem itens disponíveis
- registrem movimentações de estoque
- atualizem quantidades
- acompanhem o uso de ferramentas e equipamentos
Este projeto demonstra experiência com:
- desenvolvimento full stack com Java
- modelagem de banco de dados relacional
- implementação de controle de acesso por usuário
- desenvolvimento de interfaces web
- organização de sistemas baseados em requisitos funcionais
- Java
- Spring MVC
- Spring boot
- HTML
- CSS
- JavaScript
- Thymeleaf
- SQL
- MySQL
- Aplicação Desktop baseada em Java
- API REST
O projeto segue uma arquitetura em camadas para separar responsabilidades entre interface, lógica de negócio e acesso a dados.
User Interface
│
├── HTML
├── CSS
└── JavaScript
│
Application Layer
│
└── Java (lógica de negócio)
│
Data Access Layer
│
└── SQL / MySQL
Essa estrutura facilita:
- manutenção do código
- evolução do sistema
- organização das responsabilidades
Exemplo simplificado da organização do projeto:
inventory-management-system
│
├── src
│ ├── database
│ │ └── conexão e queries SQL
│ │
│ ├── models
│ │ └── entidades do sistema
│ │
│ ├── services
│ │ └── lógica de negócio
│ │
│ ├── controllers
│ │ └── controle das interações do sistema
│ │
│ └── ui
│ └── interface do usuário
│
└── README.md
O sistema possui dois tipos principais de usuários.
Responsável pela administração do sistema.
Permissões:
- cadastrar novos usuários
- remover usuários
- gerenciar permissões
- cadastrar novos itens
- atualizar inventário
- alterar status de itens
Usuário responsável pela operação diária do sistema.
Permissões:
- consultar itens do inventário
- pesquisar peças e ferramentas
- registrar retirada ou devolução
- atualizar quantidades
Usuários acessam o sistema através de login com username e senha.
Essa funcionalidade garante que apenas usuários autorizados tenham acesso ao inventário.
Gestores podem administrar usuários do sistema.
Funcionalidades incluem:
- cadastro de novos usuários
- remoção de usuários existentes
- definição de permissões
Informações cadastradas:
- nome
- username
- senha
- setor
- registro da empresa
Usuários podem pesquisar itens utilizando:
- nome
- código de identificação
A busca retorna todos os itens compatíveis.
Gestores podem cadastrar novos itens no inventário contendo:
- Nome (obrigatório)
- Código de identificação (obrigatório)
- Quantidade (obrigatório)
- Descrição (opcional)
Usuários podem registrar:
- retirada de itens
- reposição de estoque
- correções de inventário
A interface permite:
- entrada manual de valores
- incremento ou decremento de quantidade
Itens podem possuir diferentes estados:
- Disponível
- Em uso
O sistema mantém controle separado entre:
- quantidade disponível
- quantidade em uso
Isso permite acompanhar facilmente a utilização de ferramentas e equipamentos.
Users
-----
id
name
username
password
department
employee_id
role
Items
-----
id
name
item_code
description
total_quantity
available_quantity
in_use_quantity
Inventory_Movements
-----
id
item_id
user_id
movement_type
quantity
date
Esse modelo permite registrar:
- cadastro de itens
- movimentação de estoque
- controle de usuários
Durante o desenvolvimento, alguns desafios importantes foram trabalhados:
Foi necessário estruturar corretamente:
- quantidade total
- quantidade em uso
- quantidade disponível
Garantindo consistência das informações.
O sistema separa funcionalidades entre:
- gestores
- funcionários
Isso exige validação de permissões nas ações do sistema.
Foi implementada comunicação entre a aplicação Java e o banco SQL para:
- persistência de dados
- consultas
- atualizações de inventário
Evoluções planejadas para o sistema:
- autenticação baseada em tokens
- histórico completo de movimentação de inventário
- dashboard com métricas de estoque
- notificações para estoque baixo
- versão web completa
Este projeto demonstra experiência com:
- desenvolvimento em Java
- SQL e modelagem relacional
- construção de sistemas CRUD
- implementação de controle de acesso
- organização de projetos de software
- desenvolvimento full stack básico