donald 763cc7cfdd Add Flask/Python backend server
- Create app.py with Flask server on port 5002
- Add requirements.txt with Python dependencies
- Add run_flask.bat for Windows users
- Add run_flask.sh for Linux/Mac users
- Complete Flask setup documentation
- Database integration with PyMySQL
- Full LLM API support (Gemini, DeepSeek, OpenAI, Claude)
- CORS configuration
- Error handling middleware

Features:
 Runs on http://127.0.0.1:5002
 All LLM APIs supported
 Database connection
 API proxy for CORS fix
 Auto setup scripts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 00:15:29 +08:00
2025-12-03 23:42:15 +08:00
2025-12-04 00:15:29 +08:00
2025-12-04 00:15:29 +08:00
2025-12-03 23:35:47 +08:00
2025-12-04 00:15:29 +08:00
2025-12-04 00:15:29 +08:00

HR 績效評核系統

基於「四卡循環」的完整績效管理系統,整合 AI 智能輔助功能。

系統概述

本系統以「四卡循環」為核心架構,建立完整的績效管理生命週期:

┌──────────┐      ┌──────────┐      ┌──────────┐      ┌──────────┐
│  角色卡  │ ───▶ │  能力卡  │ ───▶ │  績效卡  │ ───▶ │  成長卡  │
│Role Card │      │Competency│      │Performance│     │Growth Card│
└──────────┘      └──────────┘      └──────────┘      └──────────┘
     │                                                      │
     └─────────────── 回饋循環 ◀──────────────────────────┘

主要功能

四卡系統

  • 角色卡 (Role Card): 職位定義、KRA/KPI 設定
  • 能力卡 (Competency Card): 能力基準、技能要求
  • 績效卡 (Performance Card): 週期評核、目標達成評估
  • 成長卡 (Growth Card): IDP 個人發展計畫

AI 輔助功能

  • Help Me AI: 智能填寫功能,自動產生建議內容
  • LLM 整合: 支援 Gemini, DeepSeek, OpenAI 三種 LLM
  • 連線測試: 即時測試 API 連線狀態

錯誤處理

  • 統一錯誤處理機制
  • 友善的錯誤提示視窗
  • 完整的錯誤日誌記錄

技術架構

後端技術

  • Node.js + Express
  • MySQL 資料庫
  • RESTful API
  • JWT 認證

前端技術

  • React
  • CSS3 (響應式設計)
  • Axios (HTTP 請求)

AI 整合

  • Google Gemini API
  • DeepSeek API
  • OpenAI API

環境設定

1. 安裝依賴

npm install

2. 環境變數設定

複製 .env 檔案並填入實際的設定值:

# Database Configuration
DB_HOST=mysql.theaken.com
DB_PORT=33306
DB_NAME=db_A102
DB_USER=A102
DB_PASSWORD=Bb123456

# LLM API Keys
GEMINI_API_KEY=your_gemini_api_key_here
DEEPSEEK_API_KEY=your_deepseek_api_key_here
OPENAI_API_KEY=your_openai_api_key_here

3. 資料庫初始化

# 建立資料表結構
mysql -h mysql.theaken.com -P 33306 -u A102 -p db_A102 < database/schema.sql

# 匯入初始資料
mysql -h mysql.theaken.com -P 33306 -u A102 -p db_A102 < database/seed_data.sql

開發指南

啟動開發伺服器

npm run dev

資料庫管理

詳細的資料庫文件請參考 database/README.md

API 文件

錯誤處理

所有 API 錯誤都會以統一格式回傳:

{
  "success": false,
  "error": {
    "statusCode": 400,
    "message": "錯誤訊息",
    "details": {},
    "timestamp": "2025-12-03T10:00:00.000Z",
    "path": "/api/endpoint"
  }
}

LLM API 端點

測試連線

POST /api/llm/test/gemini    # 測試 Gemini
POST /api/llm/test/deepseek  # 測試 DeepSeek
POST /api/llm/test/openai    # 測試 OpenAI
POST /api/llm/test/all       # 測試所有

生成內容

POST /api/llm/generate
Content-Type: application/json

{
  "prompt": "你的提示內容",
  "provider": "gemini",
  "options": {
    "temperature": 0.7,
    "maxTokens": 2000
  }
}

智能填寫

POST /api/llm/help-me-fill
Content-Type: application/json

{
  "cardType": "performance",
  "filledFields": {...},
  "emptyFields": [...],
  "context": {...}
}

專案結構

hr-performance-system/
├── components/              # React 元件
│   ├── ErrorModal.jsx      # 錯誤彈窗
│   └── LLMConnectionTest.jsx # LLM 連線測試
├── config/                  # 配置檔案
│   └── llm.config.js       # LLM 設定
├── database/                # 資料庫檔案
│   ├── schema.sql          # 資料表結構
│   ├── seed_data.sql       # 初始資料
│   └── README.md           # 資料庫說明
├── routes/                  # API 路由
│   └── llm.routes.js       # LLM 路由
├── services/                # 業務邏輯
│   └── llm.service.js      # LLM 服務
├── utils/                   # 工具函數
│   └── errorHandler.js     # 錯誤處理
├── .env                     # 環境變數
├── .gitignore              # Git 忽略檔案
└── README.md               # 專案說明

資料庫結構

系統包含 31 張資料表,分為以下模組:

  • 基礎資料: 5 張表 (部門、職級、員工、角色、權限)
  • 職能字典: 3 張表 (分類、字典、行為指標)
  • 角色卡: 6 張表
  • 能力卡: 3 張表
  • 績效卡: 4 張表
  • 成長卡: 5 張表
  • 系統支援: 5 張表 (審批、設定、版本、日誌)

詳細資料表結構請參考 database/README.md

系統特色

1. 完整的四卡循環

  • 角色 → 能力 → 績效 → 成長的完整循環
  • 資料自動連動,減少重複輸入

2. AI 智能輔助

  • 自動填寫空白欄位
  • 支援多種 LLM 服務
  • 智能內容生成

3. 多語系支援

  • 繁體中文
  • 英文
  • 介面與資料庫皆支援多語系

4. 響應式設計

  • 支援桌面、平板、手機
  • 自適應排版
  • 觸控友善

5. 完善的錯誤處理

  • 統一錯誤格式
  • 友善的錯誤提示
  • 完整的日誌記錄

開發規劃

Phase 1 - MVP (已完成)

  • 資料庫設計與建立
  • LLM API 整合
  • 錯誤處理機制
  • 連線測試功能

Phase 2 - 核心功能 (進行中)

  • 🔄 角色卡 CRUD
  • 🔄 能力卡管理
  • 🔄 績效卡評核
  • 🔄 成長卡 IDP

Phase 3 - 進階功能 (規劃中)

  • 360 度評估
  • 儀表板報表
  • 審批流程
  • 行動版 APP

版本管理

本專案使用 Git 進行版本控制,託管於 Gitea。

Repository: https://gitea.theaken.com/donald/hr-performance-system

授權

Copyright © 2025 HR Performance System. All rights reserved.

聯絡資訊

如有任何問題或建議,請聯繫系統管理員。


最後更新: 2025-12-03 版本: 1.0.0

Description
HR �Z�ĵ��֨t�� - �|�d�`���޲z���x
Readme 151 KiB
Languages
HTML 64.6%
JavaScript 19.3%
Python 8.9%
CSS 5.3%
Batchfile 1.3%
Other 0.6%