用 AI 重塑招聘管理
WhaleHire 是一个基于人工智能的现代化招聘管理平台,旨在通过智能化技术提升招聘效率,为 HR 和求职者提供更好的招聘体验。
- 🤖 AI 智能助手: 集成先进的 AI 对话系统,提供智能化招聘建议
- 🎯 精准匹配: 基于 AI 算法的简历与职位智能匹配
- 📊 数据驱动: 全面的招聘数据分析和可视化报表
- 🔒 安全可靠: 企业级安全保障,保护用户隐私和数据安全
- 🌐 现代化界面: 响应式设计,支持多设备访问
┌─────────────────────┐    ┌─────────────────────┐    ┌─────────────────────┐
│    前端 (React)      │    │    后端 (Go)        │    │    数据存储          │
│                     │    │                     │    │                     │
│ React 18 + Vite     │◄──►│ Go 1.25+ + Echo     │◄──►│ PostgreSQL +        │
│ TypeScript 5        │    │ Ent ORM             │    │ pgvector            │
│ Tailwind CSS        │    │ Wire DI             │    │ Redis v7            │
│ Radix UI + shadcn/ui│    │ Swagger API Docs    │    │ Minio               │
│ ECharts             │    │ Clean Architecture  │    │                     │
└─────────────────────┘    └─────────────────────┘    └─────────────────────┘
- 语言: Go 1.25+
- Web 框架: Echo v4.13.4
- ORM: Ent v0.14.4
- 数据库: PostgreSQL + pgvector
- 缓存: Redis v7
- 依赖注入: Google Wire
- 配置管理: Viper
- API 文档: Swagger
- 框架: React 18.2.0 + Vite 4.4.5
- 语言: TypeScript 5.0.2
- 路由: React Router DOM 6.15.0
- UI 库: Radix UI + shadcn/ui
- 样式: Tailwind CSS 3.3.3
- 图标: Lucide React 0.263.1
- 图表: ECharts + echarts-for-react
- 构建工具: Vite
- Node.js: >= 18.0.0
- Go: >= 1.25.0
- Docker: >= 20.0.0
- Docker Compose: >= 2.0.0
git clone <repository-url>
cd WhaleHire复制环境变量文件并配置:
cp .env.example .env
vim .env配置以下环境变量:
# Database Configuration
POSTGRES_DB=whalehire
POSTGRES_USER=whalehire
POSTGRES_PASSWORD=whalehire123
# Redis Configuration
REDIS_PASSWORD=redis123
# Application Configuration
WHALEHIRE_DATABASE_MASTER="postgres://whalehire:whalehire123@localhost:5432/whalehire?sslmode=disable&timezone=Asia/Shanghai"
WHALEHIRE_DATABASE_SLAVE="postgres://whalehire:whalehire123@localhost:5432/whalehire?sslmode=disable&timezone=Asia/Shanghai"
WHALEHIRE_REDIS_HOST=localhost
WHALEHIRE_REDIS_PORT=6379
WHALEHIRE_REDIS_PASS=redis123
# Admin Configuration
WHALEHIRE_ADMIN_USER=admin
WHALEHIRE_ADMIN_PASSWORD=admin123启动数据库和缓存服务:
# 启动 PostgreSQL 数据库
docker-compose up -d whalehire-db
# 启动 Redis 缓存
docker-compose up -d whalehire-rediscd backend
go mod tidy
go run cmd/main.go cmd/wire_gen.go后端服务将在 http://localhost:8888 启动
cd frontend
npm install
npm run dev前端服务将在 http://localhost:5175 启动
- 前端应用: http://localhost:5175
- 后端 API: http://localhost:8888
WhaleHire/
├── backend/                 # 后端服务
│   ├── cmd/                # 应用入口
│   ├── internal/           # 业务逻辑
│   ├── pkg/                # 公共包
│   ├── db/                 # 数据模型
│   ├── ent/                # Schema 定义
│   └── README.md           # 后端详细文档
├── frontend/               # 前端应用 (React + Vite)
│   ├── src/                # 源代码
│   │   ├── components/     # 组件目录
│   │   │   ├── ui/         # shadcn/ui 组件
│   │   │   ├── auth/       # 认证相关组件
│   │   │   ├── layout/     # 布局组件
│   │   │   └── ...         # 其他业务组件
│   │   ├── pages/          # 页面组件
│   │   ├── hooks/          # 自定义 Hooks
│   │   ├── services/       # API 服务
│   │   ├── types/          # TypeScript 类型定义
│   │   ├── lib/            # 工具函数
│   │   └── styles/         # 样式文件
│   ├── public/             # 静态资源
│   └── README.md           # 前端详细文档
├── docs/                   # 项目文档
├── docker-compose.yml      # 生产环境容器编排
├── docker-compose.dev.yml  # 开发环境容器编排
└── Makefile               # 项目管理脚本
项目配置了 Git Hooks 来确保代码质量:
# 安装 Git Hooks
make install-hooks
# 卸载 Git Hooks
make uninstall-hooks- 后端: 遵循 Go 官方代码规范,使用 gofmt、go vet、golangci-lint前端: 使用 ESLint + TypeScript 严格模式,遵循 React + Vite 最佳实践
# 启动开发环境(数据库 + Redis)
docker-compose -f docker-compose.dev.yml up -d# 启动完整服务栈
docker-compose up -d我们欢迎所有形式的贡献!请阅读以下指南:
- Fork 项目到你的 GitHub 账户
- Clone 你的 Fork 到本地
- 创建功能分支: git checkout -b feature/your-feature
- 开发功能 并确保通过所有测试
- 提交代码: git commit -m "feat: add your feature"
- 推送分支: git push origin feature/your-feature
- 创建 Pull Request
使用 Conventional Commits 规范:
- feat:新功能
- fix:修复 bug
- docs:文档更新
- style:代码格式调整
- refactor:代码重构
- test:测试相关
- chore:构建工具或辅助工具的变动
本项目采用 AGPL-3.0 license。
如果您在使用过程中遇到问题,请:
- 查看相关文档和 FAQ
- 搜索 Issues 是否有相似问题
- 创建新的 Issue 并详细描述问题
- 提供复现步骤和环境信息
敬请期待
让 AI 赋能招聘,让招聘更智能! 🚀