Skip to content

TripleWhite/jobsearchengine

Repository files navigation

Job Management System

一个现代化的求职管理系统,使用 Flask + React 技术栈构建。

项目结构

.
├── app/                    # Flask 后端应用
│   ├── routes/            # API 路由
│   ├── services/          # 业务逻辑服务
│   └── models.py          # 数据库模型
├── frontend/              # 前端应用
│   └── job-admin/        # React 管理后台
├── migrations/            # 数据库迁移文件
├── tests/                 # 测试用例
├── .env                   # 环境变量配置
└── requirements.txt       # Python 依赖

技术栈

后端

  • Python 3.x
  • Flask 3.0.0
  • SQLAlchemy
  • Flask-Migrate
  • Flask-CORS
  • JWT 认证

前端

  • React 18
  • TypeScript
  • Ant Design
  • Vite
  • React Router
  • Axios

开发环境设置

后端设置

  1. 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate  # Unix
#
.\venv\Scripts\activate  # Windows
  1. 安装依赖:
pip install -r requirements.txt
  1. 设置环境变量:
# 创建 .env 文件并配置以下变量
FLASK_APP=run.py
FLASK_ENV=development
DATABASE_URL=sqlite:///instance/app.db
SECRET_KEY=your-secret-key
  1. 初始化数据库:
flask db upgrade
  1. 创建管理员账户:
python create_admin.py
  1. 运行后端服务:
python run.py

服务将在 http://localhost:5001 运行

前端设置

  1. 进入前端目录:
cd frontend/job-admin
  1. 安装依赖:
npm install
  1. 运行开发服务器:
npm run dev

前端将在 http://localhost:5173 运行

运行项目

数据库设置

  1. 初始化数据库:
flask db upgrade
  1. 创建管理员用户:
python3 create_admin.py

这将创建以下用户:

后端服务器

  1. 安装依赖:
python3 -m pip install -r requirements.txt
  1. 运行后端服务器:
python3 run.py

服务器将在 http://localhost:5002 上运行。

前端应用

  1. 进入前端目录:
cd frontend/job-admin
  1. 安装依赖:
npm install
  1. 运行开发服务器:
npm run dev

前端应用将在 http://localhost:5173 上运行。

测试

运行测试套件:

pytest

生成测试覆盖率报告:

pytest --cov=app tests/

API 文档

认证相关

  • POST /api/auth/login - 用户登录
  • POST /api/auth/register - 用户注册

职位相关

  • GET /api/jobs - 获取职位列表
  • POST /api/jobs - 创建新职位
  • GET /api/jobs/{id} - 获取职位详情
  • PUT /api/jobs/{id} - 更新职位信息
  • DELETE /api/jobs/{id} - 删除职位

用户相关

  • GET /api/users/profile - 获取用户信息
  • PUT /api/users/profile - 更新用户信息

部署

  1. 构建前端:
cd frontend/job-admin
npm run build
  1. 配置生产环境变量:
FLASK_ENV=production
DATABASE_URL=your-production-db-url
SECRET_KEY=your-production-secret-key
  1. 运行数据库迁移:
flask db upgrade
  1. 使用生产服务器(如 Gunicorn)运行应用:
gunicorn run:app

贡献指南

  1. Fork 本仓库
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的改动 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

About

jobsearchengine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published