Skip to content

Repository files navigation

SpoolVault

SpoolVault é um sistema web desenvolvido em Next.js para gerenciar de forma eficiente o seu inventário de filamentos de impressão 3D e armazenar suas calibrações detalhadas. O objetivo principal do projeto é fornecer uma ferramenta centralizada onde você pode cadastrar todos os detalhes de um filamento (como temperaturas, retração, flow, pressure advance, etc.) e gerar etiquetas com QR Code para facilitar o rastreio físico dos seus carretéis.

🚀 Características

  • Cadastro de Filamentos: Registre marca (fabricante), tipo de material (PLA, ABS, PETG, etc.), cor e o número do lote do seu filamento.
  • Armazenamento de Calibração: Salve dados cruciais obtidos nos seus testes de calibração para garantir sempre a melhor impressão. Os campos incluem:
    • Temperatura Mínima e Máxima do Bico
    • Temperatura Mínima e Máxima da Mesa
    • Retração (Distância e Velocidade)
    • Fluxo (Flow Rate / Multiplicador de extrusão)
    • Fluxo Máximo Volumétrico (Max Volumetric Flow)
    • Avanço de Pressão (Pressure Advance)
    • VFA (Velocity Fibrillation Artifacts / Teste de velocidade ideal)
  • Geração de QR Code: Crie QR Codes únicos para cada filamento cadastrado. Ao ler o código com seu smartphone, você é direcionado diretamente para a página de detalhes daquele carretel.
  • Integração com Impressoras Térmicas: Imprima etiquetas automaticamente em sua impressora térmica para colar nos carretéis de filamento, contendo as principais informações e o QR Code.
  • Banco de Dados Local: Utiliza SQLite embutido, não dependendo de configurações complexas de infraestrutura em nuvem (basta rodar e usar).
  • Interface Moderna: Feito com Next.js (App Router), React 19 e ícones Lucide.

🌟 Benefícios

  1. Organização Extrema: Nunca mais esqueça qual configuração funcionou melhor para aquela marca específica de PLA ou PETG.
  2. Setup Rápido de Impressão: Ao pegar um filamento da estante, basta ler o QR Code ou checar a etiqueta para inserir instantaneamente no seu Fatiador (OrcaSlicer, PrusaSlicer, Cura, etc.) os valores ideais de temperatura, fluxo e pressure advance.
  3. Privacidade e Controle: Como o banco de dados roda localmente (SQLite), todas as suas anotações de filamentos pertencem 100% a você, funcionando rápido e sem depender de internet.
  4. Pronto para Integrações: Graças ao back-end integrado (API Routes do Next.js), é possível no futuro conectar o sistema diretamente via plugins ao seu Fatiador (como o OrcaSlicer).

🛠️ Tecnologias Utilizadas

📖 Como Usar

  1. Cadastre um novo filamento: Insira informações básicas como marca, material e cor.
  2. Faça as calibrações: Realize os testes na sua impressora 3D para achar temperatura ideal, fluxo, pressure advance, etc.
  3. Atualize o sistema: Preencha os dados no SpoolVault.
  4. Imprima a etiqueta: Gere a etiqueta térmica e cole no carretel.
  5. No dia a dia: Quando for imprimir, leia a etiqueta/QR code e insira os dados no fatiador para garantir a impressão perfeita.

💻 Como Rodar Localmente na Sua Máquina

Para rodar este projeto na sua máquina local, você precisará do Node.js instalado.

1. Clone o repositório

Abra o seu terminal (ou Git Bash) e clone o projeto:

git clone https://github.com/Woorkier/filament_controller.git
cd filament_controller

2. Instale as dependências

Execute o comando abaixo na pasta raiz do projeto para instalar todas as bibliotecas necessárias:

npm install

3. Como Rodar a Aplicação

Abaixo estão as três formas de executar o projeto, listadas da mais recomendada (para uso contínuo/produção) até a forma de desenvolvimento local.

(Atenção: Para as opções 3.1 e 3.2, que são focadas em manter a aplicação online de forma contínua, lembre-se de rodar o comando npm run build antes, para compilar a versão final do projeto).

3.1. Usando PM2 (Recomendado para Produção)

O PM2 é um gerenciador de processos moderno que mantém seu aplicativo rodando em segundo plano, reinicia automaticamente em caso de falhas e pode iniciar junto com o sistema operacional. Siga os passos:

  1. Instale o PM2 globalmente em sua máquina:
    npm install -g pm2
  2. Inicie a aplicação:
    pm2 start npm --name "filament-controller" -- start
    (Alternativa se fosse um script Node comum: pm2 start app.js)
  3. Salve a lista de processos (para que voltem sozinhos se o servidor reiniciar):
    pm2 save
  4. Monitore os logs em tempo real (caso precise ver o que está acontecendo):
    pm2 log

3.2. Usando Nohup (Alternativa para Linux/macOS)

O comando nohup é uma ferramenta nativa do sistema que ignora o sinal de encerramento quando você fecha o terminal. É mais simples, porém menos robusto que o PM2.

  1. Execute no terminal:
    nohup npm start > output.log &
    O & no final joga o processo para rodar livre no segundo plano. (Para scripts comuns, seria nohup node app.js > output.log &)
  2. Para encerrar depois: Busque o ID do processo rodando ps aux | grep node no terminal. Quando achar o número do processo, finalize-o com o comando:
    kill <PID>

3.3. Modo de Desenvolvimento (npm run dev)

Use esta opção se você for alterar o código-fonte ou se quiser apenas testar a aplicação localmente de forma rápida. O servidor só ficará ativo enquanto a janela do seu terminal estiver aberta.

  1. Inicie o servidor de desenvolvimento:
    npm run dev
  2. O servidor será iniciado na porta padrão (geralmente 3000) e ficará acessível na sua rede local.
  3. Abra o seu navegador e acesse: http://localhost:3000

4. Banco de Dados (Automático)

Não é necessário configurar nenhum banco de dados externo. Ao iniciar a aplicação pela primeira vez ou salvar o primeiro filamento, o sistema criará automaticamente uma pasta /data na raiz do projeto contendo o arquivo filaments.db do SQLite, pronto para uso.


Desenvolvido para entusiastas e profissionais de Impressão 3D que buscam a precisão máxima e organização no seu fluxo de trabalho.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages