基于 Next.js + Chakra UI + Gemini AI 的智能求职匹配和简历生成平台。
- ✅ 求职者信息管理 - 多步骤表单录入个人信息、学历、工作经历、技能等
- ✅ 职位管理 - 手动录入职位信息,支持 CRUD 操作
- ✅ AI 智能匹配 - 使用 Gemini AI 分析求职者与职位的匹配度
- ✅ 简历生成 - 基于目标职位生成定制化简历
- 🚧 职位爬取 - (未来功能) 支持 Telegram、Boss直聘、Notion
- 框架: Next.js 14 (App Router)
- UI: Chakra UI + Tailwind CSS
- 数据库: PostgreSQL + Prisma ORM
- AI: Google Gemini 1.5 Flash
- 语言: TypeScript
npm install编辑 .env.local 文件:
# 数据库连接
DATABASE_URL="postgresql://user:password@localhost:5432/jobseeker"
# Gemini API Key
GEMINI_API_KEY="your-gemini-api-key-here"
# 代理设置(用于访问 Gemini API)
PROXY_URL="http://127.0.0.1:7890"确保 PostgreSQL 已安装并运行,然后执行:
# 生成 Prisma Client
npx prisma generate
# 运行数据库迁移
npx prisma migrate dev --name initnpm run dev-
填写个人信息 (
/profile)- 基本信息(姓名、年龄、性别、邮箱)
- 教育背景
- 工作经历
- 技能和偏好
-
添加职位 (
/jobs)- 手动录入感兴趣的职位
- 填写职位要求、薪资范围、技能要求等
-
AI 分析 (
/analysis)- 选择职位进行 AI 匹配分析
- 查看匹配分数、优势、不足和建议
-
生成简历 (
/resume)- 选择目标职位
- AI 生成针对性简历
- 预览和导出
/Users/xp/JobSeeker/
├── app/
│ ├── api/ # API 路由
│ │ ├── jobseeker/ # 求职者 API
│ │ ├── jobs/ # 职位 API
│ │ ├── analyze/ # AI 分析 API
│ │ └── resume/ # 简历生成 API
│ ├── profile/ # 个人信息页面
│ ├── jobs/ # 职位管理页面
│ ├── analysis/ # AI 分析页面
│ ├── resume/ # 简历生成页面
│ ├── layout.tsx # 根布局
│ └── page.tsx # 首页
├── lib/
│ ├── services/
│ │ ├── gemini.ts # Gemini AI 服务
│ │ ├── analyzer.ts # 职位匹配分析
│ │ └── resumeGenerator.ts # 简历生成
│ └── prisma.ts # Prisma Client
├── prisma/
│ └── schema.prisma # 数据库模型
└── package.json
GET /api/jobseeker- 获取求职者列表POST /api/jobseeker- 创建/更新求职者信息
GET /api/jobs- 获取职位列表POST /api/jobs- 创建职位GET /api/jobs/:id- 获取单个职位PUT /api/jobs/:id- 更新职位DELETE /api/jobs/:id- 删除职位
POST /api/analyze- 分析职位匹配度GET /api/analyze?jobSeekerId=xxx- 获取历史分析结果
POST /api/resume/generate- 生成简历GET /api/resume/generate?jobSeekerId=xxx- 获取历史简历
# 开发模式
npm run dev
# 构建生产版本
npm run build
# 启动生产服务器
npm start
# 数据库相关
npx prisma studio # 打开数据库管理界面
npx prisma migrate dev # 创建新的迁移
npx prisma db push # 快速同步数据库(开发用)-
Gemini API 配置
- 需要有效的 Gemini API Key
- 如需代理,确保代理服务正在运行
- 代理地址默认为
127.0.0.1:7890
-
数据库
- 使用 PostgreSQL 数据库
- 首次运行需要执行数据库迁移
-
AI 功能
- AI 分析和简历生成需要网络连接
- 处理时间取决于 API 响应速度
- 支持 Telegram 职位爬取
- 支持 Boss直聘职位爬取
- 支持 Notion 数据源集成
- 简历模板系统
- PDF 导出功能
- 用户认证系统
- 职位收藏和笔记
- 面试准备建议
MIT