Materializr
오픈소스 파라메트릭 3D CAD로 제약 스케치·솔리드 모델·나사·SVG·텍스트 조각·STL/STEP 내보내기를 지원합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
Set in Vercel → Project → Settings → Environment Variables (Production, and
Preview if wanted). All are optional and all are NEXT_PUBLIC_*, so they are
inlined at build time: redeploy after adding or changing one. Names only —
never commit values (.env* is gitignored).
| Variable | What it turns on |
|---|---|
NEXT_PUBLIC_GA4_ID | GA4 measurement id, G-…. Unset = the existing property G-BX4WY4GBSZ; off = no GA4. |
NEXT_PUBLIC_META_PIXEL_ID | Meta pixel (digits only). Unset = no pixel loaded. |
NEXT_PUBLIC_GOOGLE_ADS_ID | Google Ads tag, e.g. AW-…. Unset = no Ads tag. |
NEXT_PUBLIC_GOOGLE_ADS_LABEL_SIGNUP | Ads conversion label sent on sign_up |
NEXT_PUBLIC_GOOGLE_ADS_LABEL_LEAD | Ads conversion label sent on WhatsApp generate_lead |
NEXT_PUBLIC_GOOGLE_ADS_LABEL_PURCHASE | Ads conversion label sent on wallet purchase |
NEXT_PUBLIC_GOOGLE_ADS_LABEL_FIRST_TOPUP | Ads conversion label sent on the first paid top-up (first_topup, the intro offer). Make this the primary bid conversion. |
The labels are optional: without them, mark the GA4 events sign_up,
generate_lead, purchase and first_topup as key events and import them
into Google Ads. Conversions are sent from trackConversion in
lib/analytics.ts, which also pushes cf_<name> events to dataLayer for a
future Tag Manager container. Consent Mode v2 defaults (denied in the EEA, UK
and Switzerland, granted elsewhere) are set in app/layout.tsx before any
config call.
Every customer page (login, verify, My Activity, top-up, magic link, header,
org admin, CFD intake, rate card, download route) reaches the control plane
through ONE constant, API_BASE in lib/api-base.ts:
| Variable | What it does |
|---|---|
NEXT_PUBLIC_CONTROL_PLANE_API | API base URL, e.g. https://staging.example.com/api. Unset = https://control.coreframecloud.com/api (production, unchanged). |
Like every NEXT_PUBLIC_* variable it is read at build time (the API
base is inlined into the client bundles and the CSP header is baked into the
build), so rebuild after changing it. Only an https:// URL is accepted; http://localhost / http://127.0.0.1
are accepted only under next dev (non-production). Anything else falls back
to the production API. The CSP connect-src in next.config.ts always allows
the production origin and adds the configured origin when it differs. The
/tools, /dwg-check, /r/* and Studio rewrites in next.config.ts still
point at production on purpose.
The signup country pickers load GET /auth/countries from that API (every
country it accepts); the bundled list in lib/validation.ts is only the
offline fallback.