用 AI 重塑招聘管理
WhaleHire 是一个基于人工智能的现代化招聘管理平台,旨在通过智能化技术提升招聘效率,为 HR 和求职者提供更好的招聘体验。
- 🤖 AI 智能助手: 集成先进的 AI 对话系统,提供智能化招聘建议
- 🎯 精准匹配: 基于 AI 算法的简历与职位智能匹配
- 📊 数据驱动: 全面的招聘数据分析和可视化报表
- 🔒 安全可靠: 企业级安全保障,保护用户隐私和数据安全
- 🌐 现代化界面: 响应式设计,支持多设备访问
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 前端 (UI) │ │ 后端 (API) │ │ 数据存储 │
│ │ │ │ │ │
│ Next.js 15 │◄──►│ Go + Echo │◄──►│ PostgreSQL │
│ TypeScript │ │ Clean Arch │ │ Redis │
│ Tailwind CSS │ │ Wire DI │ │ Vector DB │
│ shadcn/ui │ │ Ent ORM │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
- 语言: 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-redis
cd 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:
修复 bugdocs:
文档更新style:
代码格式调整refactor:
代码重构test:
测试相关chore:
构建工具或辅助工具的变动
本项目采用 AGPL-3.0 license。
如果您在使用过程中遇到问题,请:
- 查看相关文档和 FAQ
- 搜索 Issues 是否有相似问题
- 创建新的 Issue 并详细描述问题
- 提供复现步骤和环境信息
敬请期待
让 AI 赋能招聘,让招聘更智能! 🚀