Sahhar Dhia Eddine
All projects

3DzPrinting

Instant 3D printing quotes and a full back office for a print shop

  • React
  • Vite
  • Tailwind Css
  • shadcn/ui
  • three.js
  • Node.js
  • Express
  • SQLite
  • Stripe
  • Polyslice
  • PDFKit
  • Nodemailer
  • Playwright
3DzPrinting

A self-hosted web app for a 3D print shop. A customer drops a model in the browser, sees it in 3D with the supports it needs, picks material, colour and quality, and gets an exact price with the full breakdown, computed on the server. The shop runs everything from an admin area, itself in French and Arabic: orders, printers and filament stock, a print schedule that groups parts of several orders on one plate, shipping priced by wilaya and commune, calibration, coupons, invoices, card disputes and backups. Payments go through Stripe, sign-in through Google or email, and the customer site is available in English, French and Arabic with right-to-left layout and dark mode.

Features

  • Upload STL, 3MF, OBJ, STEP, PLY and more, or a sliced G-code file, with no account needed
  • 3D viewer with dimensions, overhang and support display, and fit check against each printer's build volume
  • Exact price in seconds with a line-by-line breakdown: material, machine time, handling, tax and delivery
  • Multi-part orders, shared quote links, cart, coupons, add-ons such as sanding or painting
  • Delivery priced by wilaya and commune, with home or stop-desk delivery, using the full list of Algerian wilayas and communes
  • Card payments through Stripe, or cash and bank transfer recorded by hand, with PDF invoices and credit notes, and handling of card disputes
  • Order status page with timeline, messages with attachments and customer cancellation
  • Admin back office in French and Arabic: orders, print schedule with shared plates, printers with a guided add wizard, filament and spool stock, pricing settings, reports and audit log
  • English, French and Arabic customer site with a right-to-left layout, plus light and dark themes, usable on a phone

How the price is computed

  • The server analyses each mesh: volume, bounding box, overhangs, bridges and the supports needed in each orientation, with optional hollowing
  • Print time and filament weight come from a printer profile, or from an in-process WASM slicer when an exact figure is wanted
  • Price per part adds material with markup, machine hours, labour, electricity and failure allowance, with a minimum part price and quantity discounts
  • Every quote is stored as a frozen snapshot, so a price never changes after it was shown
  • The lead time comes from the real print queue: the scheduler plans plates per printer and opening hours, and puts compatible parts of different orders on one shared plate when that saves print time
  • Printer rates, filament prices and margins are editable in the admin, with a sample panel to preview a change before saving it

Gallery

Next projectLive Translation