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.
| 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. |
| 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 |
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 | iexcurl -fsSL https://raw.githubusercontent.com/leotrax3d/filament-manager/main/install.sh | shNote: 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 devStep 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.
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 --strictPortBrowser: http://localhost:3000
.\update.ps1bash update.shOr manually:
cd FilamentManager
git pull
npm install
npm run build
pm2 restart filament.\uninstall.ps1Or run directly from GitHub:
powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/leotrax3d/filament-manager/main/uninstall.ps1 | iex"bash uninstall.shOr run directly from GitHub:
curl -fsSL https://raw.githubusercontent.com/leotrax3d/filament-manager/main/uninstall.sh | shStart local development environment:
git clone https://github.com/leotrax3d/filament-manager
cd filament-manager
npm install
npm run devFrontend: http://localhost:5173 (Vite Dev Server)
Backend: http://localhost:3000 (Hono API)
Create production build:
npm run build
npm run startRegenerate icons (after changing public/icons/source.png):
npm run icons| 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 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.
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. |
MIT License
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.
| 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. |
| 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 |
Schritt 1: PowerShell als normaler Nutzer oeffnen (kein Admin noetig).
Schritt 2:
irm https://raw.githubusercontent.com/leotrax3d/filament-manager/main/install.ps1 | iexcurl -fsSL https://raw.githubusercontent.com/leotrax3d/filament-manager/main/install.sh | shHinweis: 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.
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 --strictPortBrowser: http://localhost:3000
.\update.ps1bash update.shOder manuell:
cd FilamentManager
git pull
npm install
npm run build
pm2 restart filament.\uninstall.ps1Oder direkt von GitHub ausfuehren:
powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/leotrax3d/filament-manager/main/uninstall.ps1 | iex"bash uninstall.shOder direkt von GitHub ausfuehren:
curl -fsSL https://raw.githubusercontent.com/leotrax3d/filament-manager/main/uninstall.sh | shLokale Entwicklungsumgebung starten:
git clone https://github.com/leotrax3d/filament-manager
cd filament-manager
npm install
npm run devFrontend: http://localhost:5173 (Vite Dev Server)
Backend: http://localhost:3000 (Hono API)
Build erstellen:
npm run build
npm run startIcons neu generieren (nach Aenderung von public/icons/source.png):
npm run icons| 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 |
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.
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. |
MIT License