Sistema web para busca e filtragem de catálogo de parafusos com múltiplos critérios
Funcionalidades • Instalação • Configuração • Uso • API
Este sistema foi desenvolvido para otimizar o processo de busca e consulta de parafusos em um catálogo industrial. A aplicação permite filtrar produtos por diversos critérios técnicos, facilitando a localização rápida de itens específicos.
Em ambientes industriais, localizar o parafuso correto em um catálogo extenso pode ser demorado e propenso a erros. Este sistema automatiza essa busca, permitindo filtros simultâneos por múltiplas características técnicas.
- 🔍 Busca por nome - Pesquisa textual com suporte a múltiplos termos
- 📏 Filtro por comprimento - Seleção de medidas específicas
- ⚙️ Filtro por bitola - Diâmetros em polegadas e milímetros
- 🎨 Filtro por acabamento - Zincado, galvanizado, polido, etc.
- 🔧 Filtro por modelo - Sextavado, Allen, Francês, etc.
- 🔄 Filtro por rosca - Tipos de rosca disponíveis
- 📐 Filtro por haste - Rosca inteira (RI) ou rosca parcial (RP)
- 🏗️ Filtro por material - Aço carbono, inox, latão, etc.
- 📊 Filtro por classe - Resistência mecânica do parafuso
- 📄 Paginação - Carregamento progressivo dos resultados
- Node.js - Runtime JavaScript
- Express.js - Framework web minimalista
- MySQL - Banco de dados relacional
- CORS - Middleware para Cross-Origin Resource Sharing
- dotenv - Gerenciamento de variáveis de ambiente
- HTML5 - Estrutura semântica
- CSS3 - Estilização responsiva
- JavaScript - Interatividade e consumo de API
-
Clone o repositório
git clone https://github.com/seu-usuario/sistema-filtragem-parafusos.git cd sistema-filtragem-parafusos -
Instale as dependências
npm install
-
Configure o banco de dados
mysql -u root -p < database/schema.sql -
Configure as variáveis de ambiente
cp .env.example .env
Edite o arquivo
.envcom suas credenciais do MySQL. -
Inicie o servidor
npm start
-
Acesse a aplicação
http://localhost:3000
Crie um arquivo .env na raiz do projeto com as seguintes variáveis:
# Banco de Dados
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=sua_senha
DB_NAME=produtosdb
# Servidor
PORT=3000- Acesse
http://localhost:3000no navegador - Utilize os filtros disponíveis para refinar a busca
- Clique em "Filtrar" para executar a pesquisa
- Use "Mostrar mais" para carregar mais resultados
O servidor é configurado para aceitar conexões de outros dispositivos na mesma rede. O IP local é exibido no console ao iniciar o servidor.
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /api/parafusos |
Lista parafusos com filtros |
| GET | /api/comprimentos |
Lista comprimentos disponíveis |
| GET | /api/bitolas |
Lista bitolas disponíveis |
| GET | /api/acabamentos |
Lista acabamentos disponíveis |
| GET | /api/modelos |
Lista modelos disponíveis |
| GET | /api/roscas |
Lista tipos de rosca |
| GET | /api/hastes |
Lista tipos de haste |
| GET | /api/materiais |
Lista materiais disponíveis |
| GET | /api/classes |
Lista classes disponíveis |
GET /api/parafusos?nome=sextavado&bitola=8mm&page=1&limit=5
| Parâmetro | Tipo | Descrição |
|---|---|---|
nome |
string | Busca por nome (aceita múltiplos termos) |
comprimento |
string | Filtro por comprimento |
bitola |
string | Filtro por bitola |
acabamento |
string | Filtro por acabamento |
modelo |
string | Filtro por modelo |
rosca |
string | Filtro por tipo de rosca |
haste |
string | Filtro por tipo de haste |
material |
string | Filtro por material |
classe |
string | Filtro por classe |
page |
number | Número da página (padrão: 1) |
limit |
number | Itens por página (padrão: 5) |
sistema-filtragem-parafusos/
├── app.js # Servidor Express e rotas da API
├── package.json # Dependências e scripts
├── .env.example # Exemplo de variáveis de ambiente
├── .gitignore # Arquivos ignorados pelo Git
├── database/
│ └── schema.sql # Script de criação do banco
└── public/
├── index.html # Interface do usuário
└── styles.css # Estilos da aplicação
- Adicionar autenticação de usuários
- Implementar CRUD completo para parafusos
- Adicionar exportação para Excel/PDF
- Criar dashboard com estatísticas
- Implementar cache com Redis
- Adicionar testes automatizados
- Containerização com Docker
Contribuições são bem-vindas! Sinta-se à vontade para:
- Fazer um fork do projeto
- Criar uma branch para sua feature (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -m 'Adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Abrir um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Desenvolvido com ❤️ para otimizar processos industriais