Next.jsReact作品集SaaS

ResumeAI — Next.js 作品集模板

作者 theclashers696-bot

ResumeAI 是一个基于 Next.js 14 与 TypeScript 的 AI 简历构建器,提供拖拽编辑器、Gemini 内容生成、ATS 分析、简历导入、求职信生成、职业洞察、面试准备、分析统计以及 PDF/DOCX 导出,使用 PostgreSQL 与 Prisma 存储数据。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-14查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

拖拽式简历编辑器,内置 6 个以上模板并支持实时预览

02

基于 Google Gemini 2.5 Flash 的 AI 自动填充与内容改进

03

针对职位描述进行 ATS 分析并给出评分

04

支持上传 PDF、DOCX、TXT 或 JSON 文件导入简历

05

AI 生成语气匹配的求职信,以及按角色生成的面试题

06

提供 PDF / DOCX 导出、分享链接分析统计与深色模式

模板详细介绍

ResumeAI 是一个 AI 驱动的简历构建器,README 描述其功能包括拖拽式简历编辑器、6 个以上模板、实时预览、基于 Google Gemini 的自动填充与内容改进、针对职位描述的 ATS 分析、PDF/DOCX/TXT/JSON 简历导入、AI 生成且语气匹配的求职信、薪资范围与技能差距等职业情报、按角色生成的面试题、查看/下载/分享链接分析、PDF 与 DOCX 导出以及深色模式。技术栈为 Next.js 14 App Router、TypeScript(strict)、PostgreSQL 搭配 Prisma ORM、better-auth(邮箱 + Google + GitHub OAuth)、Google Gemini 2.5 Flash、Cloudinary 图片存储、Tailwind CSS + Radix UI 与 Framer Motion。项目结构包含认证页面、仪表盘、API 路由、公开简历分享页、编辑器组件、导入流程、自动保存恢复对话框、全局搜索、AI 集成与提示词、简历解析器以及内存限流器。README 还提到一个病毒扫描架构存根。部署方面推荐 Vercel,数据库可使用 Neon,并需配置 Cloudinary。README 未提供关于性能、并发能力或生产就绪程度的说明。

Next.jsReact作品集SaaS

适合你的项目吗?

适用场景

  • 需要快速生成或优化简历内容的求职者
  • 希望根据具体职位描述检查简历 ATS 匹配度的用户
  • 需要将已有 PDF、DOCX、TXT 或 JSON 简历转换为可编辑格式的场景
  • 需要为特定职位准备求职信和面试问题的求职准备
  • 希望查看简历分享链接的查看与下载数据的用户

适合人群

  • 具备 Node.js 20+、pnpm 8+ 与 PostgreSQL 环境,并希望自行部署的开发者
  • 需要 Google Gemini API 密钥与 Cloudinary 账户来启用 AI 和图片存储功能的团队
  • 希望基于 Next.js 14、TypeScript、Prisma 与 better-auth 技术栈进行二次开发的项目

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    环境要求:Node.js 20+、pnpm 8+、PostgreSQL 数据库(如 Neon)、Google Gemini API 密钥以及 Cloudinary 账户。

  2. 2

    克隆仓库后执行 pnpm install,复制 .env.example 为 .env.local 并填写所有环境变量。

  3. 3

    必填环境变量包括 DATABASE_URL、BETTER_AUTH_SECRET、BETTER_AUTH_URL、NEXT_PUBLIC_APP_URL、GEMINI_API_KEY 以及三个 CLOUDINARY_* 变量;Google 与 GitHub OAuth 凭据为可选。

  4. 4

    执行 pnpm exec prisma generate 与 pnpm exec prisma db push 初始化数据库,然后运行 pnpm dev,应用默认运行在 http://localhost:5000。

  5. 5

    README 推荐使用 Vercel 部署,并提示将 BETTER_AUTH_URL 与 NEXT_PUBLIC_APP_URL 设置为 Vercel 部署地址。

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 使用 AI 自动填充、内容改进、求职信生成、面试题生成等功能需要自行申请并配置 Google Gemini API 密钥。
  • 图片存储功能依赖 Cloudinary 账户,需自行注册并配置相关凭据。
  • 运行本项目需要自备 PostgreSQL 数据库(例如 Neon),并配置连接字符串。
  • GEMINI_API_KEY 为必填环境变量,缺少该密钥将无法使用依赖 Gemini 的 AI 功能。
  • CLOUDINARY_CLOUD_NAME 为必填环境变量,缺少 Cloudinary 配置将无法使用图片存储功能。
  • DATABASE_URL 为必填环境变量,必须提供 PostgreSQL 连接字符串才能运行。
  • Cloudinary 需创建账户(README 说明可创建免费账户)并获取凭据后方可使用图片存储。
  • 数据库需在 Neon 等平台创建项目并获取连接字符串。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

- Google Gemini API key

README 原文

- Cloudinary account

README 原文

- PostgreSQL database (e.g. [Neon](https://neon.tech))

README 原文

| `GEMINI_API_KEY` | ✅ | Google Gemini API key |

README 原文

| `CLOUDINARY_CLOUD_NAME` | ✅ | Cloudinary cloud name |

README 原文

| `DATABASE_URL` | ✅ | PostgreSQL connection string |

README 原文

1. Create a free account at [cloudinary.com](https://cloudinary.com)

README 原文

1. Create a project at [neon.tech](https://neon.tech)

README 原文
https://github.com/theclashers696-bot/ResumeAI/blob/main/LICENSEhttps://github.com/theclashers696-bot/ResumeAI/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-14。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 85 / 100
技术栈
Next.js · React
网站类型
作品集 · SaaS
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-07-04
截图检查日期
2026-10-14

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15

查看当时使用的来源资料

SHA-256: abc4af3b2365ef1ca2b0722cfcf106bdb2a8d9332686323d83f376e8f3654ca0

2026-10-14T22:56:24.235Z

来源文件 / 仓库
# ResumeAI — Build Your Perfect Resume

> AI-powered resume builder with ATS optimization, beautiful templates, and intelligent career insights.

[![TypeScript](https://img.shields.io/badge/TypeScript-5.6-blue)](https://www.typescriptlang.org/)
[![Next.js](https://img.shields.io/badge/Next.js-14-black)](https://nextjs.org/)
[![Prisma](https://img.shields.io/badge/Prisma-5.22-2D3748)](https://www.prisma.io/)

---

## Features

| Feature | Description |
|---|---|
| **Resume Builder** | Drag-and-drop editor, 6+ templates, real-time preview |
| **AI Autofill** | Gemini-powered content generation and improvement |
| **ATS Analysis** | Score your resume against job descriptions |
| **Resume Import** | Upload PDF, DOCX, TXT or JSON and convert instantly |
| **Cover Letters** | AI-generated, tone-matched cover letters |
| **Career Intelligence** | Salary ranges, skill gaps, learning roadmap |
| **Interview Prep** | AI-generated question sets per role |
| **Analytics** | View counts, downloads, share link performance |
| **PDF / DOCX Export** | High-fidelity one-click export |
| **Dark Mode** | Full system/manual dark mode support |

<img width="1280" height="720" alt="17831799398824751706160592746534" src="https://github.com/user-attachments/assets/a93efe90-e441-4f21-adcd-52633d4dbbbd" />
<img width="1280" height="720" alt="17831799645353934490582315865487" src="https://github.com/user-attachments/assets/c31b08f1-2bd8-42eb-ac90-c94a37cdd091" />
<img width="1280" height="720" alt="17831799953323199151599915476132" src="https://github.com/user-attachments/assets/d9d187f9-3004-4eba-949f-3616dbd1f16c" />
<img width="1280" height="720" alt="17831800212186828716270617262540" src="https://github.com/user-attachments/assets/adc5e3f8-a382-40fe-b2bf-0bc33af30cc1" />

---

## Tech Stack

- **Framework**: Next.js 14 (App Router)
- **Language**: TypeScript (strict)
- **Database**: PostgreSQL via Prisma ORM
- **Auth**: better-auth (email + Google + GitHub OAuth)
- **AI**: Google Gemini 2.5 Flash
- **Storage**: Cloudinary (images)
- **Styling**: Tailwind CSS + Radix UI
- **Animations**: Framer Motion

---

## Getting Started

### Prerequisites

- Node.js 20+
- pnpm 8+
- PostgreSQL database (e.g. [Neon](https://neon.tech))
- Google Gemini API key
- Cloudinary account

### Installation

```bash
# 1. Clone the repository
git clone https://github.com/your-org/resumeai.git
cd resumeai

# 2. Install dependencies
pnpm install

# 3. Copy environment variables
cp .env.example .env.local

# 4. Fill in your .env.local values (see Environment Variables section)

# 5. Generate Prisma client and push schema
pnpm exec prisma generate
pnpm exec prisma db push

# 6. Start the development server
pnpm dev
```

The app runs on [http://localhost:5000](http://localhost:5000).

---

## Environment Variables

Copy `.env.example` to `.env.local` and fill in every value. See the file for descriptions.

| Variable | Required | Description |
|---|---|---|
| `DATABASE_URL` | ✅ | PostgreSQL connection string |
| `BETTER_AUTH_SECRET` | ✅ | 32+ char secret (generate with `openssl rand -base64 32`) |
| `BETTER_AUTH_URL` | ✅ | Your app's public URL |
| `NEXT_PUBLIC_APP_URL` | ✅ | Same as above (public) |
| `GEMINI_API_KEY` | ✅ | Google Gemini API key |
| `CLOUDINARY_CLOUD_NAME` | ✅ | Cloudinary cloud name |
| `CLOUDINARY_API_KEY` | ✅ | Cloudinary API key |
| `CLOUDINARY_API_SECRET` | ✅ | Cloudinary API secret |
| `GOOGLE_CLIENT_ID` | ☑️ | Google OAuth (optional) |
| `GOOGLE_CLIENT_SECRET` | ☑️ | Google OAuth (optional) |
| `GITHUB_CLIENT_ID` | ☑️ | GitHub OAuth (optional) |
| `GITHUB_CLIENT_SECRET` | ☑️ | GitHub OAuth (optional) |

---

## Database

```bash
# Push schema to database
pnpm exec prisma db push

# Open Prisma Studio (database browser)
pnpm exec prisma studio

# Generate client after schema changes
pnpm exec prisma generate
```

---

## Deployment

### Vercel (recommended)

1. Push to GitHub
2. Import project in [Vercel](https://vercel.com)
3. Set all environment variables in Vercel dashboard
4. Deploy

> **Important**: Set `BETTER_AUTH_URL` and `NEXT_PUBLIC_APP_URL` to your Vercel deployment URL.

### Database (Neon)

1. Create a project at [neon.tech](https://neon.tech)
2. Copy the connection string to `DATABASE_URL`
3. Run `pnpm exec prisma db push` against the production database

### Cloudinary

1. Create a free account at [cloudinary.com](https://cloudinary.com)
2. Find your credentials in the Dashboard
3. Set `CLOUDINARY_CLOUD_NAME`, `CLOUDINARY_API_KEY`, `CLOUDINARY_API_SECRET`

---

## Project Structure

```
src/
├── app/
│   ├── (auth)/          # Login, register pages
│   ├── (dashboard)/     # All authenticated pages
│   ├── api/             # API routes
│   ├── r/               # Public resume share pages
│   ├── layout.tsx       # Root layout + metadata
│   ├── sitemap.ts       # Dynamic sitemap
│   ├── robots.ts        # Robots.txt
│   └── manifest.ts      # PWA manifest
├── components/
│   ├── editor/          # Resume editor panels
│   ├── import/          # Import flow components
│   ├── layout/          # Shell, sidebar, nav
│   ├── recovery/        # Autosave recovery dialog
│   ├── resume/          # Resume preview + templates
│   ├── search/          # Global search
│   └── ui/              # Design system components
├── hooks/               # React hooks
├── lib/
│   ├── ai/              # Gemini integration + prompts
│   ├── auth.ts          # better-auth config
│   ├── db.ts            # Prisma client
│   ├── rate-limit.ts    # In-memory rate limiter
│   ├── resume-parser.ts # PDF/DOCX/TXT/JSON parser
│   └── virus-scan.ts    # Virus scan architecture stub
└── types/               # Shared TypeScript types
```

---

## Scripts

```bash
pnpm dev          # Start development server (port 5000)
pnpm build        # Production build
pnpm start        # Start production server
pnpm lint         # ESLint check
pnpm db:push      # Push Prisma schema to database
pnpm db:generate  # Regenerate Prisma client
```

---

## License

MIT — see [LICENSE](LICENSE) for details.
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。