新员工入职系统
这是一个基于Next.js和MySQL的员工入职流程管理系统,用于管理新员工的入职流程,包括个人信息收集、文档上传、合同签署和社保办理等环节。通过该系统,可以有效提高人力资源部门工作效率,优化员工入职体验。
功能特点
- 完整的入职流程管理:从员工信息采集到社保办理的全流程覆盖
- 文档上传和验证:支持身份证、学历证明等重要文档的上传与自动验证
- 电子合同签署:支持劳动合同、保密协议等文件的在线签署
- 社保办理集成:简化社保登记流程,自动跟踪办理状态
- 多角色管理:员工、HR和管理员不同视角的仪表盘和权限控制
- 响应式设计:完美支持移动端和桌面端访问
技术栈
-
前端:
- Next.js 15.2.2
- React 19
- TypeScript
- Tailwind CSS 3.3.3
-
后端:
- Next.js API Routes
- Prisma ORM 6.5.0
-
数据库:
- MySQL 9.2
-
部署:
- 支持Vercel部署
- Docker容器化支持
安装和使用
前提条件
- Node.js 18.0+
- MySQL 9.2
- npm 或 yarn
安装步骤
- 克隆仓库
git clone <repository-url>
cd employee-onboarding-system
- 安装依赖
npm install
# 或
yarn install
- 配置环境变量
复制.env.example文件为.env并更新数据库连接信息:
DATABASE_URL="mysql://username:password@localhost:3306/employee_onboarding"
NEXTAUTH_SECRET="your-nextauth-secret-key"
NEXTAUTH_URL="http://localhost:3000"
JWT_SECRET="your-jwt-secret-key"
- 数据库设置和迁移
# 创建数据库(如果尚未创建)
mysql -u root -p -e "CREATE DATABASE employee_onboarding CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# 运行Prisma迁移
npx prisma migrate dev --name init
# 添加种子数据(可选)
npx prisma db seed
- 启动开发服务器
npm run dev
# 或
yarn dev
- 访问系统
打开浏览器并访问 http://localhost:3000
项目结构
employee-onboarding-system/
├── app/ # Next.js 应用目录(App Router架构)
│ ├── about/ # 关于页面
│ ├── admin/ # 管理员页面
│ ├── components/ # 公共组件
│ ├── contexts/ # React上下文
│ ├── contracts/ # 合同管理页面
│ ├── dashboard/ # 仪表盘页面
│ ├── documents/ # 文档管理页面
│ ├── login/ # 登录页面
│ ├── logout/ # 登出功能
│ ├── onboarding/ # 入职流程页面
│ ├── profile/ # 用户资料页面
│ ├── social-insurance/ # 社保管理页面
│ ├── globals.css # 全局样式
│ ├── layout.tsx # 根布局组件
│ └── page.tsx # 首页组件
├── prisma/ # Prisma ORM配置
│ ├── migrations/ # 数据库迁移文件
│ └── schema.prisma # 数据库架构定义
├── public/ # 静态资源
├── node_modules/ # 依赖包
├── .next/ # Next.js构建输出
├── src/ # 源代码目录
│ └── ... # 其他源代码文件
├── package.json # 项目配置
├── package-lock.json # 依赖锁定文件
├── next.config.js # Next.js配置
├── tsconfig.json # TypeScript配置
├── postcss.config.js # PostCSS配置
├── tailwind.config.js # Tailwind CSS配置
└── .env # 环境变量
数据模型
系统包含以下核心数据模型:
- User: 用户信息,包括员工、HR和管理员
- Department: 部门信息
- Position: 职位信息
- OnboardingProcess: 入职流程管理
- Document: 文档管理(身份证、学历证明等)
- Contract: 合同管理(劳动合同、保密协议等)
- SocialInsurance: 社保信息
- SystemLog: 系统操作日志
数据关系图
User <- Department <- Position
| |
v v
OnboardingProcess
|
├──> Document
├──> Contract
└──> SocialInsurance
使用指南
登录系统
系统提供以下默认账号供测试使用:
-
管理员/HR账号
- 邮箱: admin@example.com
- 密码: password
-
员工账号
- 邮箱: employee@example.com
- 密码: password
入职流程
-
员工视角:
- 登录系统
- 填写个人基本信息
- 上传必要证件资料(身份证、学历证明等)
- 签署劳动合同和保密协议
- 提交社保办理资料
- 等待HR审批
-
HR视角:
- 登录系统
- 查看待处理的入职申请
- 审核员工提交的资料
- 处理合同签署事宜
- 办理社保登记
- 完成入职流程
管理功能
- 部门管理: 创建、编辑和删除部门信息
- 职位管理: 设置职位及其所属部门
- 用户管理: 创建HR账号,管理系统用户
- 文档模板: 上传和管理合同模板
- 系统设置: 配置系统参数
开发路线图
-
短期计划:
- 邮件通知功能
- 二维码签到
- 移动端优化
-
中期计划:
- 入职培训计划集成
- 绩效考核模块
- 多语言支持
-
长期计划:
- API集成能力
- 数据分析与报表
- 企业微信/钉钉集成
贡献指南
我们欢迎并感谢所有形式的贡献。如果您想参与项目开发,请遵循以下步骤:
- Fork 项目仓库
- 创建您的特性分支 (
git checkout -b feature/amazing-feature) - 提交您的更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开一个 Pull Request
许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件
联系方式
如有任何问题或建议,请通过以下方式联系我们:
- 项目负责人: 楚白(mailto:email@example.com)
- 项目仓库: GitHub仓库地址
© 2025 新员工入职系统. 保留所有权利.
项目截图












