TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
템플릿·간편 편집·AI 작성·PDF 내보내기로 전문 이력서를 만들고 온라인에서 저장·다운로드
Build a professional CV with templates, an easy editor, AI writing assistance, and PDF export. Create, save, and download your resume online.
생산성TypeScript · JavaScriptGitHub @mzyousaf온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Resumivo is an AI-assisted CV builder: regional templates, six languages and PDF export, built with Next.js, MongoDB and Auth.js.README 전문 보기 ↗Resumorah is an AI-assisted CV builder: regional templates, 12 languages and PDF export, built with Next.js, MongoDB and Auth.js.
components/ui/logo.tsx (BRAND_MARK_PATH, BRAND_SPARK_PATH). Use <Logo /> for the lockup and <LogoMark variant="tile" /> for the app-icon tile.resumorah in Syne Bold.#e11d48 → Tangerine #fb923c (the brand gradient). The coral theme in app/tokens.css is the default site theme.app/icon.svg, app/favicon.ico, app/apple-icon.png, public/icons/* and the web manifest in app/manifest.ts. The social preview is app/opengraph-image.png / app/twitter-image.png..env.example to .env.local and fill in values (see Environment variables).npm install
npm run dev
Open http://localhost:3000.
The globe button (navbar, auth pages, dashboard sidebar, builder header) opens the preferences menu:
lib/i18n/dictionaries/; en.ts is the source shape and every other locale is type-checked against it. lib/i18n/dictionaries.test.ts checks placeholders and array lengths.app/tokens.css.Choices are stored in the cvg-locale, cvg-theme and cvg-mode cookies and applied on the server, so pages render without a flash. Without a cookie, the language comes from the browser's Accept-Language. Dark sections and the CV paper use the scheme-light class to keep the light palette. Legal documents and server error messages are English only.
| Command | Purpose |
|---|---|
npm run dev | Development server |
npm run build | Production build |
npm run start | Run production build locally |
npm run lint | ESLint |
npm test | Unit tests (tsx --test lib/**/*.test.ts) |
All configuration is server-only (this app does not use NEXT_PUBLIC_* for secrets).
| Variable | Required | Notes |
|---|---|---|
MONGODB_URI | Yes (runtime) | MongoDB connection string |
MONGODB_DB_NAME | Yes (runtime) | Database name (use separate names per environment) |
AUTH_SECRET | Yes in production | openssl rand -base64 32 |
AUTH_URL | Recommended in production | e.g. https://your-app.vercel.app |
AUTH_GOOGLE_ID | Optional | Both Google vars required to enable Google sign-in |
AUTH_GOOGLE_SECRET | Optional | OAuth client secret |
OPENROUTER_API_KEY | Optional | Enables AI features via OpenRouter; disabled when unset |
AI_MODEL | Optional | OpenRouter model id; defaults to openai/gpt-4o-mini |
OPENROUTER_SITE_URL / OPENROUTER_APP_NAME | Optional | OpenRouter attribution headers (site URL falls back to AUTH_URL) |
See .env.example for a safe template to commit. Never commit .env or real credentials.
0.0.0.0/0 or Vercel static IPs if you restrict).MONGODB_URI.MONGODB_DB_NAME to a production-specific name (e.g. cv-generator-production).The app reuses a cached Mongoose connection across serverless invocations (lib/db/connect.ts).
AUTH_SECRET (32+ random characters) for Production (and Preview if you test auth there).AUTH_URL to your deployment URL, e.g. https://your-app.vercel.app.trustHost is enabled in auth.config.ts for hosted deployments.Email/password signup works when MongoDB and AUTH_SECRET are configured.
https://your-app.vercel.app/api/auth/callback/googlehttp://localhost:3000/api/auth/callback/google for local dev.)AUTH_GOOGLE_ID and AUTH_GOOGLE_SECRET in Vercel.Set OPENROUTER_API_KEY (get one at https://openrouter.ai/keys) in .env.local or Vercel — that's the only required step. This enables AI summary generation, work-experience rewriting, skill suggestions and resume import parsing.
Optionally set AI_MODEL to any OpenRouter model id, e.g. anthropic/claude-3.5-haiku or google/gemini-2.0-flash-001.
npm run build (default)npm install (default)PDF export uses the Node.js runtime (@react-pdf/renderer) on GET /api/cv/[id]/export.
Run through this checklist on the production URL:
OPENROUTER_API_KEY is set)proxy.ts (Next.js 16 proxy convention).getCurrentUser and checkCvOwnership.