Doop
Doop: 오픈소스 멀티플레이어 디자인 캔버스 및 AI 에이전트용 MCP
브라우저에서 3D 프린트 디자인·그림자 램프·디왈리 스텐실·포토 리소프·이름 키체인 등 제작 후 STL 파일 다운로드
Design 3D prints in your browser: custom shadow lamps, Diwali rangoli stencils, photo lithophanes, name keychains and more. Download print-ready STL files.
디자인TypeScript · JavaScriptGitHub @upworkmkd온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Browser tools that turn pictures into print-ready 3D files. Next.js 16 on Vercel, Supabase (Postgres, auth, storage) and Razorpay.
Live tool: Shadow Lamp Maker. Coming soon: Statue Maker, Layered Sculpture Maker, STL Repair.
| Part | Where |
|---|---|
| Pages | src/app – landing, /tools/[slug] info pages, /tools/shadow-lamp/make, auth, /account, /admin, policies |
| Preview engine (browser, free) | src/lib/lamp/raster.js + src/components/maker/lamp.worker.js – decides what each wall keeps and predicts the shadow. No meshes. |
| File builder (server, paid) | src/lib/lamp/mesh.server.js, build.server.ts – builds the STL walls, cover plate and zip. Never sent to the browser. |
| Payments | src/app/api/checkout, api/payments/verify, api/webhooks/razorpay, src/lib/razorpay.server.ts |
| Delivery | src/lib/fulfil.server.ts builds the zip into the private lab-files bucket; api/files/[id]/download hands out a 60-second signed link |
| Database | supabase/migrations/20261008000000_init.sql – tables, row level security, storage bucket, seed prices |
| Visitor tracking | supabase/migrations/20261019000000_visitors.sql – visitors, visits, activity events, reviews, admin stats |
| Monthly plans | supabase/migrations/20261020000000_subscriptions.sql – plans, prices, Razorpay subscriptions |
| Prices (Oct 2026) | supabase/migrations/20261020200000_new_prices.sql |
| Reviews | supabase/migrations/20261020300000_one_review_each.sql – one review per customer |
| Anonymous counts | supabase/migrations/20261020400000_anonymous_views.sql – cookieless page views for visitors without consent |
| Retention | supabase/migrations/20261020500000_keep_tracking_10_days.sql – deletes visitor data older than 10 days, nightly (pg_cron) |
| Layered sculptures | supabase/migrations/20261020600000_layered_sculpture.sql – prices for the Layered Sculpture Maker |
The browser sends only a black-and-white run-length mask of the picture (tens of KB) plus the placement. The server rebuilds the identical field and the paid files from it, so preview and files always match.
ap-south-1).supabase/migrations/20261008000000_init.sql, then supabase/migrations/20261019000000_visitors.sql and supabase/migrations/20261020000000_subscriptions.sql. For plans, enable Razorpay Subscriptions, add the subscription.* webhook events, and press Save on each plan in Admin → Plans.https://labs.themdcreations.comhttps://labs.themdcreations.com/auth/callback, http://localhost:3000/auth/callbackhttps://labs.themdcreations.com/api/webhooks/razorpay, events payment.captured and order.paid, choose a secret.Copy .env.example to .env.local (and add the same values in Vercel → Project → Settings → Environment Variables).
npm install
npm run dev # http://localhost:3000
npm run dev and npm run build first bundle the preview worker into public/lamp-worker.js.
Sign up on the site, then in the Supabase SQL editor:
update public.profiles set role = 'admin' where email = '[email protected]';
/admin then shows sales and lets you change each tool's status and prices. Admins download their own designs free.
npm run build).labs.themdcreations.com, then at your DNS provider add a CNAME record labs → cname.vercel-dns.com.src/lib/tools.ts (words) and to the tools table (status/prices).src/app/tools/<slug>/make, post a design to /api/designs with tool: '<slug>', and add a builder branch in src/lib/fulfil.server.ts.