TalenLink 才链
从"投简历"到"解问题",重新定义求职
项目简介
AI就业服务平台是一个面向高校的智能就业服务系统,基于1600w数据清洗后得出的18.5w+数据,同时包含四大模块:
- 官网 — 杂志编辑风产品介绍,三端入口
- 学生端 — 岗位搜索、职业画像、挑战广场、我的揭榜
- 教师端 — 数据分析、课程优化、榜单洞察、培养方案诊断
- 企业端 — 发布挑战、评审揭榜、精准选才


挑战广场(核心创新)
企业发布真实问题 → 学生揭榜提交方案 → 教师引导指导 → 企业评审对接
比招聘更精准,比猎头更开放——用作品说话的就业对接。
技术栈
| 层级 | 技术 |
|---|---|
| 后端 | Flask + SQLAlchemy + PyJWT + Flask-Limiter |
| 前端 | Vue 2 + Element UI + Axios + Vuex + Vue Router + ECharts |
| 数据库 | MySQL 8.0(用户/挑战)+ SQLite(18.5万岗位数据) |
| 设计 | 杂志编辑风 + Noto Serif SC + Inter + 带色调阴影 |
访问地址
| 端 | 地址 | 说明 |
|---|---|---|
| 官网 | http://localhost:5010 | 杂志风产品介绍 |
| 学生端 | http://localhost:5010/student/ | 岗位搜索+挑战广场 |
| 教师端 | http://localhost:5010/teacher/ | 数据分析+榜单洞察 |
| 企业端 | http://localhost:5010/enterprise/ | 发布挑战+评审 |
项目结构
ai-employment/
├── backend/ # Flask后端
│ ├── api/ # API路由
│ │ ├── auth.py # 认证(登录/注册)
│ │ ├── student.py # 学生端(岗位/搜索/职业画像)
│ │ ├── teacher.py # 教师端(数据分析/课程优化)
│ │ ├── enterprise.py # 企业端(信息管理)
│ │ ├── challenge.py # 挑战广场(CRUD)
│ │ └── response.py # 揭榜响应(提交/评审)
│ ├── models/ # 数据模型
│ │ ├── user.py # 用户(学生/教师)
│ │ ├── enterprise.py # 企业用户
│ │ ├── challenge.py # 挑战
│ │ └── response.py # 揭榜响应
│ ├── security/ # 安全模块
│ │ ├── jwt_service.py # JWT认证
│ │ ├── decorators.py # 装饰器(认证/限流/日志)
│ │ ├── xss_filter.py # XSS过滤
│ │ ├── rate_limiter.py # 限流
│ │ └── repeat_submit.py # 防重复提交
│ ├── templates/
│ │ └── landing.html # 官网(杂志风,30KB)
│ ├── app.py # Flask工厂
│ ├── config.py # 配置
│ └── run.py # 启动入口
├── frontend-student/ # 学生端 Vue SPA
│ ├── src/
│ │ ├── views/
│ │ │ ├── layout/ # 布局(glass nav)
│ │ │ ├── dashboard/ # 仪表盘
│ │ │ ├── jobs/ # 岗位搜索/详情/管理
│ │ │ ├── challenges/ # 挑战广场/详情/我的揭榜
│ │ │ ├── career/ # 职业画像/路径
│ │ │ └── profile/ # 个人中心
│ │ ├── router/index.js # 路由(base: /student/)
│ │ └── assets/global-override.css # 杂志风CSS
│ └── dist/ # 构建产物
├── frontend-teacher/ # 教师端 Vue SPA
│ ├── src/
│ │ ├── views/
│ │ │ ├── overview/ # 概览
│ │ │ ├── dashboard/ # 仪表盘
│ │ │ ├── standards/ # 专业标准分析
│ │ │ ├── curriculum/ # 课程优化
│ │ │ ├── diagnosis/ # 培养方案诊断
│ │ │ ├── regional/ # 区域布局
│ │ │ ├── talent/ # 人才供需监测
│ │ │ ├── benchmark/ # 热力矩阵
│ │ │ └── challengeInsight/ # 榜单洞察
│ │ └── router/index.js # 路由(base: /teacher/)
│ └── dist/
├── frontend-enterprise/ # 企业端 Vue SPA
│ ├── src/
│ │ ├── views/
│ │ │ ├── dashboard/ # 我的榜单
│ │ │ ├── publish/ # 发布挑战
│ │ │ ├── challenge/ # 挑战详情+揭榜人
│ │ │ └── profile/ # 企业信息
│ │ └── router/index.js # 路由(base: /enterprise/)
│ └── dist/
├── frontend-shared/
│ └── design-tokens.css # 全局设计token
├── data/
│ └── jobs.db # 18.5万岗位数据(SQLite)
├── DESIGN-CONSTITUTION.md # 设计宪法(12章)
├── WORKLOG.md # 开发日志
├── requirements.txt # Python依赖
└── start.bat # 一键启动脚本
API接口(30+)
认证
POST /api/auth/login— 学生/教师登录POST /api/auth/register— 学生/教师注册POST /api/enterprise/login— 企业登录POST /api/enterprise/register— 企业注册
学生端
GET /api/student/filters— 搜索筛选项GET /api/student/jobs/search— 岗位搜索GET /api/student/jobs/:id— 岗位详情POST /api/student/career-profile— 职业画像生成
挑战广场
GET /api/challenge/list— 挑战列表GET /api/challenge/:id— 挑战详情POST /api/challenge/create— 发布挑战(企业)POST /api/response/create— 提交揭榜(学生)PUT /api/response/:id/review— 评审方案(企业)GET /api/challenge/stats— 榜单统计
教师端
GET /api/teacher/overview— 概览数据GET /api/teacher/dashboard— 仪表盘GET /api/teacher/professional-standard— 专业标准分析GET /api/teacher/curriculum-optimization— 课程优化
设计规范
详见 DESIGN-CONSTITUTION.md
- 风格:杂志编辑风(Magazine Editorial)
- 配色:#2B3A4E + #4472C4 + #FAFBFC + #F5F3F0
- 字体:Noto Serif SC(标题)+ Inter(正文)
- 阴影:带色调 rgba(43,58,78)
- 布局:非对称bento网格,禁三等分