一站式管理您的求职面试流程,轻松跟踪邮件状态和投递进度
One-stop management of your job interview process, easily track email status and delivery progress
- 目录 / Table of Contents
- 项目截图 / Screenshots
- 功能特性 / Features
- 技术栈 / Tech Stack
- 快速开始 / Quick Start
- 系统配置 / Configuration
- 项目结构 / Project Structure
- 依赖说明 / Dependencies
- 贡献 / Contributing
- License
提示:点击图片可查看完整尺寸
- 管理面试日程:记录公司、岗位、时间等信息
- 状态标记:可标记准备状态和完成情况
- 面试提醒功能:新增面试前提醒功能,确保不会错过重要面试
- 自动获取邮件:通过IMAP协议自动抓取企业邮件
- 分类管理:跟踪面试邀请、笔试通知、评测结果等
- 实时更新:自动同步最新邮件状态
- 邮件内容搜索:新增邮件内容全文搜索功能,快速定位关键信息
- 投递记录:记录企业投递情况和时间
- 状态管理:跟踪投递状态变化
- 数据统计:汇总分析投递成功率
- 投递进度可视化:新增图表展示功能,直观了解求职进度
- 灵活配置:支持数据库和邮箱参数自定义
- QQ邮箱支持:专为QQ邮箱优化的IMAP集成
- 安全保障:敏感信息加密存储
- 配置导入导出:新增配置文件导入导出功能,方便备份和迁移
- 面试时间分布:以折线图展示每日面试数量趋势
- 面试结果统计:饼图展示面试结果分布(通过、未通过、未完成、未知)
- 面试轮次与结果关联分析:堆叠柱状图展示各轮次面试的结果分布
- 面试轮次分布:柱状图展示各面试轮次的数量分布
- 面试与投递关联分析:折线图对比面试数量与投递数量的趋势关系
- 面试成功率趋势图:折线图展示每日面试成功率变化
- 面试日历视图:日历形式展示每月面试安排,支持年月切换和点击查看详情
- 投递状态分布:饼图展示投递状态分布(通过、未通过、流程中、未知)
- 投递时间趋势:折线图展示每日投递数量趋势
- 岗位类型分布:堆叠柱状图展示各岗位类型的投递状态分布
-
邮件每日收到数量趋势:折线图展示每日收到邮件数量趋势
-
邮件与面试/投递关联分析:折线图对比邮件、面试和投递数量的趋势关系
-
直观界面:清晰展示面试、邮件和投递信息
-
搜索功能:快速查找相关信息
系统新增了全面的数据可视化分析功能,帮助用户更好地了解求职进度和趋势:
-
面试日程分析:通过7个不同的图表全面分析面试数据
- 面试时间分布趋势图
- 面试结果统计饼图
- 面试轮次与结果关联分析图
- 面试轮次分布柱状图
- 面试与投递关联分析图
- 面试成功率趋势图
- 交互式面试日历视图
-
企业投递分析:通过3个图表深入分析投递情况
- 投递状态分布饼图
- 投递时间趋势折线图
- 岗位类型分布堆叠柱状图
-
邮件分析:通过2个图表追踪邮件与求职活动关联性
- 邮件每日收到数量趋势图
- 邮件与面试/投递关联分析图
所有图表均支持响应式设计,在不同设备上都能良好显示。
- 高级数据可视化分析:计划增加更多维度的数据分析功能,包括薪资趋势分析、行业需求分析、地区分布统计等
- 动态爬虫自动投递简历:计划开发智能爬虫功能,自动抓取招聘网站职位信息,并支持一键投递简历
- AI面试助手:计划集成人工智能技术,提供常见面试问题练习和智能问答反馈
- 多平台同步:计划支持与其他求职平台数据同步,实现统一管理
- 智能推荐:基于用户投递历史和面试结果,智能推荐合适的职位
注意:未来功能规划仅为开发路线图,具体实现时间可能根据开发进度调整。
- Node.js + Express.js - Web应用框架
- MySQL - 关系型数据库
- HTML5/CSS3/JavaScript - 原生前端技术
- AJAX - 异步数据交互
- Python + IMAPClient - 邮件协议处理
- PyMySQL - Python MySQL数据库驱动
- 本地运行 - 适用于个人使用的本地部署
- Node.js (版本 14 或更高 / Version 14 or higher)
- Python 3.x
- MySQL数据库 / MySQL Database
-
克隆项目 / Clone the repository
git clone <repository-url> cd 面试管理系统
-
安装Node.js依赖 / Install Node.js dependencies
npm install
-
安装Python依赖 / Install Python dependencies
pip install -r requirements.txt
双击运行项目根目录下的 start_fast.bat 文件,该脚本会:
- 在后台启动服务器(端口3001)
- 打开浏览器访问加载页面
- 实时检测服务器状态
- 服务器准备就绪后立即跳转到主页
- 不显示任何命令窗口(完全静默运行)
- 当服务器关闭时自动退出
-
启动服务器 / Start the server
node src/server.js
-
访问应用 / Access the application 打开浏览器访问:http://localhost:3001/loading
首次使用或需要修改配置时:
- 系统会自动跳转到配置页面
- 或者在主页点击"修改系统配置"按钮
- 输入数据库和邮箱配置信息
- 点击保存,系统将自动跳转回主页
系统需要MySQL数据库支持,配置时需要提供:
- 数据库主机地址(如:localhost)
- 数据库用户名
- 数据库密码
系统会自动创建所需的数据库和表结构:
interview_schedule:面试日程数据库job_emails:企业邮件数据库job_deliveries:投递记录数据库
系统支持QQ邮箱,需要:
- 邮箱地址
- IMAP授权码(不是邮箱密码)
- IMAP服务器地址(默认为imap.qq.com)
QQ邮箱配置步骤:
- 登录QQ邮箱网页版
- 进入"设置" → "账户"
- 找到"POP3/SMTP服务"和"IMAP/SMTP服务"
- 开启IMAP/SMTP服务
- 按照提示发送短信获取授权码
- 在本系统中使用该授权码作为密码
面试管理系统/
├── src/ # 后端代码 / Backend code
│ ├── server.js # 主服务器文件 / Main server file
│ └── config.js # 配置管理 / Configuration management
├── public/ # 前端静态文件 / Frontend static files
│ ├── index.html # 主页 / Home page
│ ├── schedule.html # 面试日程页面 / Interview schedule page
│ ├── emails.html # 邮件跟踪页面 / Email tracking page
│ ├── deliveries.html # 投递汇总页面 / Delivery summary page
│ ├── config.html # 系统配置页面 / System configuration page
│ ├── loading.html # 加载页面 / Loading page
│ ├── analytics.html # 数据分析页面 / Analytics page
│ └── common.css # 公共样式 / Common styles
├── script/ # Python脚本 / Python scripts
│ ├── qq_email_imap.py # 邮件获取脚本 / Email fetching script
│ └── get_email_body_by_id.py # 邮件正文获取脚本 / Email body fetching script
├── config.json # 系统配置文件 / System configuration file
├── log.txt # 系统日志文件 / System log file
├── start_fast.bat # 启动脚本 / Startup script
├── requirements.txt # Python依赖配置 / Python dependencies
├── package.json # Node.js依赖配置 / Node.js dependencies
├── package-lock.json # Node.js依赖锁定文件 / Node.js dependency lock file
├── .gitignore # Git忽略文件 / Git ignore file
├── LICENSE # 开源许可证 / Open source license
└── README.md # 项目说明文件 / Project documentation
express:Web应用框架 / Web application frameworkmysql2:MySQL数据库驱动 / MySQL database driver
imapclient:IMAP邮件客户端 / IMAP email clientpymysql:Python MySQL数据库驱动 / Python MySQL database driver
欢迎提交 Issue 和 Pull Request 来帮助改进本项目。请确保您的代码符合项目现有的代码风格。
本项目采用MIT许可证,详情请见LICENSE文件。
This project is licensed under the MIT License - see the LICENSE file for details.