Gå til hovedinnhold

v1.1.12 — Modular Architecture, Documentation & E-Commerce

· 2 min lesetid
SkyNett81
3DPrintForge utvikler

Major update focusing on code quality, comprehensive documentation, and e-commerce integration.

Modular Architecture

  • database.js (10,306 lines) split into 16 domain modules under server/db/
  • 69 automated tests (Node.js built-in test runner)
  • 80 input validation points across API endpoints
  • 37 silent catch blocks fixed with proper logging
  • Server restart during print: Correctly calculates start time and filament usage from MQTT data
  • Cloud estimate: Fetches filament/time estimates from Bambu Cloud as fallback
  • Model names: Stores and displays MakerWorld model names and links in history, gallery, and scheduler
  • Milestone capture: 3-tier fallback (live frame → TLS JPEG → RTSP)
  • False temp alerts eliminated (Bambu standby at 140°C now ignored)

Build Plate Compatibility

  • 62/62 filaments with plate compatibility ratings (Cool/Engineering/HT/Textured PEI)
  • 62/62 filaments with glue stick recommendations (required/recommended/optional)
  • Compatibility matrix with legend, glue stick column, and tips in filament tools

Pricing Model (Print Farm Academy)

  • Cost estimator upgraded: labor, waste, markup, suggested selling prices (2×, 2.5×, 3×)
  • New settings: setup time, markup percentage, nozzle cost, waste factor
  • labor_rate_hour bug fixed (labor cost was always 0)
  • Pricing model integrated into the order panel

E-Commerce & License (GeekTech.no)

  • License validation against GeekTech API (POST /api/license/verify)
  • Supports domain, IP, MAC, and IP+MAC binding
  • 32-character hex license key with automatic IP/MAC detection
  • Complete CRUD for orders (create, edit, delete, duplicate)
  • Cost summary with suggested selling prices per project

Docusaurus Documentation

  • 82 documentation pages in Norwegian (72 docs + 10 guides)
  • Fully translated to 2 languages (1,400+ files)
  • Guides: first print, filament setup, daily use, plate selection, troubleshooting, notifications, OBS
  • Knowledge base: filaments, build plates, maintenance, troubleshooting
  • GitHub Pages: skynett81.github.io/3dprintforge
  • Accessible at /docs/ from the dashboard

Security & Performance

  • Secure flag on session cookies when HTTPS is active
  • N+1 query in getSpools fixed with batch query
  • New database index on print_history.started_at
  • readBody returns 400 on invalid JSON instead of silent fallback
  • Intervals cleaned up on shutdown (no memory leaks)
  • Docker healthcheck fixed for HTTPS mode

All Bambu Lab Printers Supported

X1C, X1C Combo, X1E, P1S, P1S Combo, P1P, P2S, P2S Combo, A1, A1 Combo, A1 mini, H2S, H2D (dual nozzle), H2C (toolchanger)