一个专注于连接求职者和企业的在线招聘平台。简单来说,就是让找工作变得更高效,让招人变得更精准。
JobLink 是一个双端招聘系统,主要解决两个问题:
对求职者来说:
- 不用再海投简历了,AI 会帮你匹配合适的职位
- 可以管理多份简历,随时更新
- 追踪所有投递记录,不会错过任何反馈
- 参加线上招聘会,直接和 HR 沟通
- 还能找兼职,学生党友好
对企业来说:
- 发布职位很简单,几分钟搞定
- 主动搜索人才,不等人投简历
- 数据看板很直观,知道哪些职位受欢迎
- 管理申请流程,从收到简历到面试安排
- 收藏心仪候选人,方便后续联系
- 前端:React 19 + TypeScript + Vite
- UI 组件:shadcn/ui + Tailwind CSS
- 后端:Supabase(数据库 + 认证)
- 状态管理:TanStack Query
- 路由:React Router
- 包管理:Bun
需要安装 Bun,其他依赖会自动处理。
# 克隆项目
git clone https://github.com/XingjianLee/JobLink.git
cd JobLink
# 安装依赖
bun install
# 启动开发服务器
bun run dev然后打开浏览器访问 http://localhost:5173 就能看到首页了。
bun run build构建好的文件在 dist 目录,可以直接部署。
JobLink/
├── src/
│ ├── components/ # 组件库
│ │ ├── home/ # 首页组件
│ │ ├── jobseeker/ # 求职者相关组件
│ │ ├── layout/ # 布局组件(Header、Footer等)
│ │ └── ui/ # 基础 UI 组件(shadcn/ui)
│ ├── pages/ # 页面组件
│ │ ├── auth/ # 登录注册
│ │ ├── company/ # 企业端页面
│ │ └── jobseeker/ # 求职者端页面
│ ├── hooks/ # 自定义 Hooks
│ ├── integrations/ # 第三方集成(Supabase)
│ └── lib/ # 工具函数
├── supabase/ # Supabase 配置和迁移文件
└── public/ # 静态资源
- ✅ 职位搜索和筛选
- ✅ 简历管理和编辑
- ✅ 申请追踪
- ✅ 职位收藏
- ✅ 接收企业邀请
- ✅ 招聘会参与
- ✅ 兼职工作搜索
- ✅ 职业指导
- ✅ 职位发布和管理
- ✅ 人才搜索
- ✅ 申请管理
- ✅ 数据分析看板
- ✅ 人才收藏
- ✅ 主动邀请候选人
- ✅ 账户设置
需要配置 Supabase 和 OpenAI 的环境变量,在项目根目录创建 .env.local:
VITE_SUPABASE_URL=你的_supabase_url
VITE_SUPABASE_PUBLISHABLE_KEY=你的_supabase_anon_key
VITE_OPENAI_API_KEY=你的_openai_api_key- 支持深色/浅色主题切换
- 响应式设计,手机端也能用
- 使用 React Query 做数据缓存,减少不必要的请求
- 路由有权限控制,未登录会自动跳转
JobLink 使用多维度匹配算法,自动计算求职者与职位的匹配度,为双方推荐最优路径。
匹配度总分 100 分,由以下 5 个维度组成:
- 计算方式:比较求职者的技能列表与职位要求的技能列表
- 匹配逻辑:
- 使用模糊匹配(不区分大小写,支持部分匹配)
- 匹配度 = (匹配的技能数 / 职位要求的技能总数) × 40
- 示例:职位要求 5 项技能,求职者匹配 4 项 → 得分 = (4/5) × 40 = 32 分
- 完全匹配:求职者所在城市 = 职位所在城市 → 20 分
- 部分匹配:城市名称包含关系(如"北京"包含"北京市") → 10 分
- 不匹配:0 分
- 完全匹配:期望薪资在职位薪资范围内 → 20 分
- 接近匹配:期望薪资在职位薪资范围的 80%-100% → 10 分
- 不匹配:0 分
根据求职者当前状态推荐合适的工作类型:
| 求职者状态 | 推荐工作类型 | 匹配得分 |
|---|---|---|
| 待业 (unemployed) | 全职、兼职 | 10 分 |
| 在校学生 (student) | 实习、兼职 | 10 分 |
| 在职 (employed) | 全职、合同工 | 10 分 |
| 自由职业 (freelance) | 自由职业、合同工 | 10 分 |
- 计算方式:比较求职者学历与职位要求的学历
- 匹配逻辑:求职者学历 ≥ 职位要求学历 → 10 分
- 学历等级:高中及以下 < 大专 < 本科 < 硕士 < 博士
- 匹配度百分比:显示 0-100% 的匹配分数
- 匹配因素标注:显示具体匹配点,如"技能匹配:4/5"、"位置匹配"、"薪资匹配"等
- 智能排序:按匹配度降序排列,优先展示最匹配的职位
- 筛选机制:只显示匹配度 > 0 的职位,最多显示前 20 个
- ✅ 多维度综合:不仅看关键词,还综合分析技能、位置、薪资、工作类型、学历
- ✅ 智能排序:企业端收到的简历按匹配度降序排列,优先查看最合适的人选
- ✅ 可解释性:不仅给出分数,还标注关键匹配点,辅助人工决策
- ✅ 实时更新:根据用户资料变化,实时重新计算匹配度
- 增加消息系统,让求职者和企业可以直接沟通
- 优化 AI 匹配算法(引入机器学习模型)
- 添加更多数据分析维度
- 支持视频面试预约
- 多语言支持
MIT License
如果有什么问题或者建议,欢迎提 Issue 或者 PR。