Em desenvolvimento Web Development

Panda3DPrints

Custom online 3D printing shop — upload any photo, we print it in resin and ship it. Built with Flask, Stripe, Resend, and SQLAlchemy

Visão geral

Panda3DPrints

Custom 3D printing + ready-made catalog.

Upload an image and we turn it into a precision-printed resin piece. Or upload a 3D file you already have and we print it directly. Or browse our unified catalog of finished pieces ready to ship today — every item also supports optional STL download.

Website: panda3dprints.com
Shipping: US only


What It Does

Three Customer Flows

  • Custom Prints (Image): Upload a photo, pick size (S/M/L), choose resin, finish, and optional base. Airbrush painting with color picker, shipping speed, and inline Stripe Payment Element. Every order goes through admin review before production.

  • Custom Prints (3D File): Upload an STL, OBJ, or 3MF file you already have (up to 100 MB). We validate the file, then print it directly. Same finishing options, lower base price — no conversion work.

  • Catalog Purchases: Browse the unified gallery/catalog, pick a size, and check out. Items in the catalog support optional STL downloads: disabled, paid (behind checkout), or free (direct download).

For the Customer

  • No Accounts: Order confirmation and tracking delivered by email with a private public-ID link.
  • Full Transparency: Every price is shown before payment, including add-ons and shipping.
  • Contact Options: Public contact form, plus a "request a different base coat" link from any catalog item.
  • STL Downloads: Signed 7-day links for paid purchases; free direct downloads when the shop owner enables them.

For the Admin

  • Approval Workflow: Every paid custom order lands in an awaiting_review queue. Approve for production or reject with a reason (with optional automatic Stripe refund).
  • Unified Item Management: One admin UI for the entire catalog. Each item can be a portfolio piece, a purchasable print, or both. Supports before/after flip images, hero image, gallery images, and optional video.
  • 3D File Management: Download customer-uploaded STL/OBJ/3MF files directly from the order detail page (streamed, resumable, audit-logged).
  • Contact Inbox: View, mark replied, and archive. Auto-acknowledgement email sent to the customer; admin notified on new submission.
  • STL Download Modes Per Item: Disabled / Paid / Free.
  • Analytics: Custom-print charts, source-type charts, store charts, STL charts, and contact charts.
  • Observability: Admin audit log, application error log, live system metrics, and in-memory live logs.
  • Team Management: Invite admins/staff, change roles, and revoke access.
  • Referral Program: Auto-generated codes, credit on both sides.
  • Site Settings: Every pricing/config value editable without a deploy, including two separate base-price sets for image-source and 3D-file-source orders.

Technology Stack

Layer Choice
Framework Flask 3 (app factory + blueprints)
ORM SQLAlchemy + Alembic (Flask-Migrate)
Database SQLite (development), PostgreSQL (production)
Authentication Password + optional TOTP for admin/staff
Payments Stripe Payment Element (embedded) + webhooks
Email Resend (transactional + notification)
Frontend Jinja2, Tailwind CSS (compiled), Vanilla JavaScript
Charts ApexCharts (CDN)
System Metrics psutil
3D File Validation Custom memory-safe magic-byte sniffing
Package Manager uv
Hosting Render — Web + PostgreSQL + Persistent Disk
File Storage Render persistent disk (/var/data/uploads)

Stack tecnológica

PythonFlask 3Jinja2Tailwind CSSJavaScriptSQLAlchemyAlembicFlask-MigratePostgreSQL