# HRM 人力资源管理系统 **Repository Path**: MerlinRong/HRM ## Basic Information - **Project Name**: HRM 人力资源管理系统 - **Description**: 本项目旨在打造一套覆盖员工“招聘-入职-在职-离职”全生命周期的人力资源管理平台。系统支持从 10 人初创团队到 10 万人规模企业的弹性扩展,重点解决组织架构管理、复杂考勤计算、薪酬核算及审批流转等核心业务痛点 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-06 - **Last Updated**: 2026-10-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# 🧑‍💼 HRM 人力资源管理系统 **覆盖员工「招聘 — 入职 — 在职 — 离职」全生命周期的人力资源管理平台** [![Python](https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org/) [![FastAPI](https://img.shields.io/badge/FastAPI-0.110+-009688?logo=fastapi&logoColor=white)](https://fastapi.tiangolo.com/) [![Vue 3](https://img.shields.io/badge/Vue-3.4+-4FC08D?logo=vuedotjs&logoColor=white)](https://vuejs.org/) [![TypeScript](https://img.shields.io/badge/TypeScript-5.5+-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/) [![PostgreSQL](https://img.shields.io/badge/PostgreSQL-15+-4169E1?logo=postgresql&logoColor=white)](https://www.postgresql.org/) [![Redis](https://img.shields.io/badge/Redis-7+-DC382D?logo=redis&logoColor=white)](https://redis.io/) [![License](https://img.shields.io/badge/License-MIT-yellow)](./LICENSE) [功能特性](#-功能特性) · [技术栈](#-技术栈) · [快速开始](#-快速开始) · [项目结构](#-项目结构) · [测试](#-测试) · [Roadmap](#-roadmap)
--- ## ✨ 功能特性 | 模块 | 能力 | | :--- | :--- | | 🏢 **组织与人事** | 无限层级组织树(拖拽调整)、岗位职级体系、HC 编制管控、员工档案(自定义字段)、入转调离 | | 🎯 **招聘 ATS** | 职位发布、简历库、候选人看板(Kanban)、面试安排与日历协同 | | ⏰ **考勤假期** | 固定/排班/自由工时、GPS & WiFi 打卡、假期额度自动生成、日结/月结核算、异常申诉 | | 💰 **薪酬福利** | 薪酬套账、社保公积金规则、一键算薪(个税累计预扣)、电子工资条 | | ✅ **审批流引擎** | 动态条件分支、会签/或签、加签/转办/撤回 | | 🔐 **权限与安全** | RBAC + 行级数据权限、敏感字段加密脱敏、全量审计日志(PIPL 合规) | | 📊 **数据看板** | 组织人效、招聘漏斗、薪酬趋势(ECharts) | | 📱 **员工自助 (ESS)** | 个人主页、工作台、请假申请、打卡、工资条查询(移动端 H5 适配) | ## 🛠 技术栈 | 层级 | 技术 | | :--- | :--- | | **前端** | Vue 3 (Composition API) · TypeScript · SCSS (7-1 架构) · Element Plus · ECharts · Pinia · Vite | | **后端** | FastAPI · SQLAlchemy 2.0 (async) · Pydantic v2 · JWT · Celery | | **数据** | PostgreSQL(JSONB 自定义字段)/ SQLite(开发)· Redis(缓存 / Celery Broker) | | **部署** | Docker Compose · Nginx | ## 🚀 快速开始 ### 环境要求 - Python 3.10+ - Node.js 18+ - (可选)Docker & Docker Compose ### 后端 ```bash # 1. 创建虚拟环境并安装依赖 cd backend python -m venv .venv .\.venv\Scripts\pip install -e ".[dev,pg]" # Windows # source .venv/bin/activate && pip install -e ".[dev,pg]" # macOS/Linux # 2. 启动开发服务器 .\.venv\Scripts\python -m uvicorn app.main:app --reload ``` > 📖 API 文档: > > 🔑 种子账号:`admin / admin123` · `hr / hr123456` 开发模式默认使用 **SQLite + 进程内 KV**,零外部依赖开箱即跑。生产环境通过环境变量切换: | 变量 | 说明 | | :--- | :--- | | `HRM_DATABASE_URL` | PostgreSQL 连接串(`postgresql+asyncpg://...`) | | `HRM_REDIS_URL` | Redis 地址(缓存 / JWT 黑名单) | | `HRM_CELERY_BROKER` / `HRM_CELERY_BACKEND` | Celery 队列 | | `HRM_JWT_SECRET` | JWT 签名密钥 | | `HRM_FIELD_SECRET` | 敏感字段 AES 加密密钥 | ### 前端 ```bash cd frontend npm install npm run dev # http://localhost:5173,/api 自动代理到 8000 ``` ### Docker Compose 一键部署 ```bash cd frontend && npm run build # 先产出 dist cd ../deploy && docker compose up -d --build # nginx :80 → 前端静态资源 + API 反向代理 ``` ## 📂 项目结构 ```text HRM/ ├── backend/ # FastAPI 后端(app/ 业务模块 · tasks/ Celery 任务 · tests/) ├── frontend/ # Vue3 + TS + SCSS(src/styles 7-1 架构 · src/views 9 个页面) ├── deploy/ # docker-compose.yml · nginx.conf └── docs/ # 设计文档(SRS / 总体设计 / 详细设计 / 编码实现方案) ``` 详细设计文档(`.codebuddy/` 目录,不随仓库分发):总体设计 · 详细设计 · 编码实现方案 ## 🧪 测试 ```bash # 后端:pytest(认证 / 权限越权 / 组织树 / 个税 / 审批 DSL / 假期额度) cd backend && .\.venv\Scripts\python -m pytest tests -q # 前端:vue-tsc 类型检查 + 生产构建 cd frontend && npm run build ``` ## 🗺 Roadmap - [x] **M1** 组织底座与人事核心(RBAC / 组织树 / 员工档案 / ESS) - [x] **M2** 审批流引擎 / 考勤打卡核算 / 招聘 ATS - [x] **M3** 薪酬核算引擎 / 电子工资条 / 数据看板 - [ ] 考勤机(中控/钉钉)OpenAPI 对接 - [ ] 企业微信 / 钉钉 / 飞书消息推送 - [ ] 金蝶 / 用友财务凭证对接 - [ ] 千人规模性能压测与 K8s 部署方案 ## 🤝 参与贡献 1. Fork 本仓库并创建特性分支:`git checkout -b feature/m2-attendance` 2. 提交遵循 [Conventional Commits](https://www.conventionalcommits.org/zh-hans/) 规范 3. 提交前确保 lint 与测试全绿:`pytest` · `npm run build` 4. 发起 Pull Request ---
⭐ 觉得有帮助的话,给个 Star 支持一下吧!