Skip to content

leotrax3d/filament-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FilamentManager

FilamentManager is a web application for managing 3D printing filament inventory, consumption, and related operational data in one place. It is built for makers, print farms, workshops, and teams that need a structured overview of stock, remaining quantities, costs, and labeling workflows. The application reduces manual tracking effort and improves data consistency across procurement, storage, and usage.


Features

Feature Description
Filament Library Central overview of all spools, with search and material-based filtering.
Remaining Quantity Tracking Remaining spool weight tracking with progress bars and low-level color warnings.
Barcode / QR Code Scanner Camera-based scanner running directly in the browser for quick item lookup.
Label Generator Generates QR code labels and exports them as PDF for physical spool labeling.
Invoice Generator Imports G-code, calculates costs automatically, and exports invoices as PDF.
Import / Export JSON and CSV import/export compatible with the app's tabular data format.
Statistics Dashboard charts for stock by material, remaining quantities, and key metrics.
Settings Configuration for language (DE/EN), electricity price, thresholds, and invoice data.
PWA Installable as desktop or mobile app with offline capability.

System Requirements

Component Version
Node.js >= 20.0.0
npm >= 10.0.0
Git Any current version
Browser Chrome 90+ / Edge 90+ / Firefox 88+ / Safari 14+
Operating System Windows 10/11, Linux, macOS

Installation

Windows

Step 1: Open PowerShell as a regular user (no admin rights required).

Step 2:

irm https://raw.githubusercontent.com/leotrax3d/filament-manager/main/install.ps1 | iex

Linux / macOS

curl -fsSL https://raw.githubusercontent.com/leotrax3d/filament-manager/main/install.sh | sh

Note: The script asks interactively for installation path, port, and whether auto-start should be enabled. Node.js and Git are installed automatically if they are missing.

After installation: Step 0:

npm run dev

Step 1: The browser opens automatically at http://localhost:3000.

Step 2: The browser shows the Install banner.

Step 3: Click Install to create desktop and start menu entries.


Manual Installation (Without Script)

git clone https://github.com/leotrax3d/filament-manager
cd filament-manager
npm install
npm run icons
npm run build
npm install -g pm2
pm2 start npm.cmd --name filament --interpreter none -- run preview -- --host 0.0.0.0 --port 3000 --strictPort

Browser: http://localhost:3000


Update

Windows

.\update.ps1

Linux / macOS

bash update.sh

Or manually:

cd FilamentManager
git pull
npm install
npm run build
pm2 restart filament

Uninstallation

Windows

.\uninstall.ps1

Or run directly from GitHub:

powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/leotrax3d/filament-manager/main/uninstall.ps1 | iex"

Linux / macOS

bash uninstall.sh

Or run directly from GitHub:

curl -fsSL https://raw.githubusercontent.com/leotrax3d/filament-manager/main/uninstall.sh | sh

Development

Start local development environment:

git clone https://github.com/leotrax3d/filament-manager
cd filament-manager
npm install
npm run dev

Frontend: http://localhost:5173 (Vite Dev Server)

Backend: http://localhost:3000 (Hono API)

Create production build:

npm run build
npm run start

Regenerate icons (after changing public/icons/source.png):

npm run icons

Tech Stack

Area Technology
Frontend Framework React 18 + TypeScript
Build Tool Vite
Styling Tailwind CSS
Backend Hono.js + Node.js
Database SQLite via better-sqlite3
Charts Recharts
PDF Export jsPDF
QR/Barcode Scanner html5-qrcode
QR Code Generator qrcode
PWA vite-plugin-pwa + Workbox
Process Manager PM2

Data Storage

Data locations:

  • Database: ./data/filaments.db (SQLite, relative to the installation directory)
  • Settings: Stored in the SQLite database (table: settings)
  • Backups: Manual JSON/CSV export in the app

Note: The database is located in the data/ directory. During updates or reinstallation, this directory is kept. For manual backups, copy data/filaments.db.


CSV Import Format

Supported CSV column order:

Number, Name, Price (1000g), Material, Weight, Website, Stock, Brand

Column Required Description
Number No Internal number (ignored during import).
Name No Color name / product name.
Price (1000g) No Price with comma as decimal separator.
Material Yes For example PLA, PETG, SILK, PLA+.
Weight No For example "1000g" (numeric value is extracted, default 1000).
Website No Product URL (stored as note).
Stock No "Yes" or "No".
Brand No Manufacturer / brand name.

License

MIT License


FilamentManager

FilamentManager ist eine Webanwendung zur Verwaltung von 3D-Druck-Filamentbestand, Verbrauch und zugehoerigen Betriebsdaten an einem zentralen Ort. Die App richtet sich an Maker, Druckfarmen, Werkstaetten und Teams, die einen strukturierten Ueberblick ueber Bestand, Restmengen, Kosten und Label-Workflows benoetigen. Sie reduziert manuellen Pflegeaufwand und verbessert die Datenkonsistenz in Einkauf, Lagerung und Nutzung.


Features

Feature Beschreibung
Filament-Bibliothek Zentrale Uebersicht aller Spulen mit Suche und Filterung nach Material.
Restmengen-Tracking Verfolgung der Restmenge mit Fortschrittsbalken und Farbwarnung bei niedrigem Bestand.
Barcode / QR-Code Scanner Kamera-basierter Scanner direkt im Browser fuer schnellen Artikelzugriff.
Label-Generator Erzeugt QR-Code-Labels und exportiert diese als PDF zum Aufkleben.
Rechnungsgenerator Importiert G-Code, kalkuliert Kosten automatisch und exportiert Rechnungen als PDF.
Import / Export JSON- und CSV-Import/Export, kompatibel mit dem Tabellenformat der App.
Statistiken Diagramme fuer Bestand nach Material, Restmengen und Kennzahlen.
Einstellungen Konfiguration fuer Sprache (DE/EN), Strompreis, Schwellwerte und Rechnungsdaten.
PWA Installierbar als Desktop- oder Mobil-App mit Offline-Faehigkeit.

Systemvoraussetzungen

Komponente Version
Node.js >= 20.0.0
npm >= 10.0.0
Git Beliebige aktuelle Version
Browser Chrome 90+ / Edge 90+ / Firefox 88+ / Safari 14+
Betriebssystem Windows 10/11, Linux, macOS

Installation

Windows

Schritt 1: PowerShell als normaler Nutzer oeffnen (kein Admin noetig).

Schritt 2:

irm https://raw.githubusercontent.com/leotrax3d/filament-manager/main/install.ps1 | iex

Linux / macOS

curl -fsSL https://raw.githubusercontent.com/leotrax3d/filament-manager/main/install.sh | sh

Hinweis: Das Script fragt interaktiv nach Installationspfad, Port und ob ein Autostart eingerichtet werden soll. Node.js und Git werden automatisch installiert, falls sie nicht vorhanden sind.

Nach der Installation:

Schritt 1: Der Browser oeffnet sich automatisch auf http://localhost:3000.

Schritt 2: Der Browser zeigt das Installieren-Banner.

Schritt 3: Ein Klick auf Installieren erstellt Desktop- und Startmenue-Eintraege.


Manuelle Installation (ohne Script)

git clone https://github.com/leotrax3d/filament-manager
cd filament-manager
npm install
npm run icons
npm run build
npm install -g pm2
pm2 start npm.cmd --name filament --interpreter none -- run preview -- --host 0.0.0.0 --port 3000 --strictPort

Browser: http://localhost:3000


Update

Windows

.\update.ps1

Linux / macOS

bash update.sh

Oder manuell:

cd FilamentManager
git pull
npm install
npm run build
pm2 restart filament

Deinstallation

Windows

.\uninstall.ps1

Oder direkt von GitHub ausfuehren:

powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/leotrax3d/filament-manager/main/uninstall.ps1 | iex"

Linux / macOS

bash uninstall.sh

Oder direkt von GitHub ausfuehren:

curl -fsSL https://raw.githubusercontent.com/leotrax3d/filament-manager/main/uninstall.sh | sh

Entwicklung

Lokale Entwicklungsumgebung starten:

git clone https://github.com/leotrax3d/filament-manager
cd filament-manager
npm install
npm run dev

Frontend: http://localhost:5173 (Vite Dev Server)

Backend: http://localhost:3000 (Hono API)

Build erstellen:

npm run build
npm run start

Icons neu generieren (nach Aenderung von public/icons/source.png):

npm run icons

Tech Stack

Bereich Technologie
Frontend-Framework React 18 + TypeScript
Build Tool Vite
Styling Tailwind CSS
Backend Hono.js + Node.js
Datenbank SQLite via better-sqlite3
Charts Recharts
PDF-Export jsPDF
QR/Barcode Scanner html5-qrcode
QR-Code Generator qrcode
PWA vite-plugin-pwa + Workbox
Prozessmanager PM2

Datenspeicherung

Ablageorte der Daten:

  • Datenbank: ./data/filaments.db (SQLite, relativ zum Installationsordner)
  • Einstellungen: In der SQLite-Datenbank (Tabelle: settings)
  • Backups: Manuell per JSON/CSV-Export in der App

Hinweis: Die Datenbank liegt im data/-Ordner. Beim Update oder bei einer Neuinstallation bleibt dieser Ordner erhalten. Fuer manuelle Backups data/filaments.db kopieren.


CSV-Import Format

Unterstuetzte CSV-Spaltenreihenfolge:

Nummer, Name, Preis (1000g), Material, Gewicht, Website, Lager, Marke

Spalte Pflicht Beschreibung
Nummer Nein Interne Nummer (wird beim Import ignoriert).
Name Nein Farbname / Produktname.
Preis (1000g) Nein Preis mit Komma als Dezimaltrennzeichen.
Material Ja Zum Beispiel PLA, PETG, SILK, PLA+.
Gewicht Nein Zum Beispiel "1000g" (numerischer Wert wird extrahiert, Standard 1000).
Website Nein Produkt-URL (wird als Notiz gespeichert).
Lager Nein "Ja" oder "Nein".
Marke Nein Hersteller / Markenname.

Lizenz

MIT License

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors