团队OKR任务看板和绩效得分系统是一个综合性的团队管理平台,用于跟踪任务进度、计算团队和个人绩效得分,并生成月度报告。
- 后端: Django 4.2 + Django REST Framework
- 数据库: PostgreSQL
- 认证: JWT (djangorestframework-simplejwt)
- API文档: Swagger/OpenAPI (drf-yasg)
- 管理界面: Django Admin + django-admin-interface
- 部署: Docker + Docker Compose
确保已安装以下软件:
- Python 3.11+
- Docker & Docker Compose
- PostgreSQL客户端(可选)
git clone <repository-url>
cd team-okr-performance-systemcp .env.example .env
# 编辑 .env 文件,配置数据库连接等信息# 构建并启动服务
docker-compose up --build
# 在另一个终端执行数据库迁移
docker-compose exec web python manage.py migrate
# 创建超级管理员
docker-compose exec web python manage.py createsuperuser如果不使用Docker,可以按以下步骤设置:
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装依赖
pip install -r requirements.txt
# 执行数据库迁移
python manage.py migrate
# 创建超级管理员
python manage.py createsuperuser
# 启动开发服务器
python manage.py runserver- API文档 (Swagger): http://localhost:8000/swagger/
- API文档 (ReDoc): http://localhost:8000/redoc/
- Django Admin: http://localhost:8000/admin/
- API根路径: http://localhost:8000/api/
.
├── config/ # Django配置
│ ├── settings.py # 项目设置
│ ├── urls.py # URL路由
│ ├── wsgi.py # WSGI配置
│ └── asgi.py # ASGI配置
├── apps/ # 应用模块
│ ├── users/ # 用户管理
│ ├── tasks/ # 任务管理
│ ├── reviews/ # 评价系统
│ └── reports/ # 报告生成
├── requirements.txt # Python依赖
├── Dockerfile # Docker镜像配置
├── docker-compose.yml # Docker Compose配置
└── manage.py # Django管理脚本
项目使用外部PostgreSQL数据库:
- 主机: 121.43.104.161:6432
- 数据库: OKR
- 用户名: OKR
- 密码: 123OKR
python manage.py makemigrations
python manage.py migratepython manage.py testpython manage.py collectstatic系统使用JWT进行认证。获取令牌的步骤:
- 登录获取访问令牌:
POST /api/users/login/
{
"email": "user@example.com",
"password": "password"
}- 使用令牌访问受保护的API:
Authorization: Bearer <access_token>- 刷新令牌:
POST /api/users/token/refresh/
{
"refresh": "<refresh_token>"
}根据代码库中的配置(具体在 apps/users/management/commands/create_test_users.py 文件中),默认的管理员账号和密码如下:
-
账号 : admin@example.com
-
密码 : admin123 此外,还有其他部门的测试账号可供使用:
-
软件部门: software@example.com / user123
-
硬件部门: hardware@example.com / user123
-
市场部门: marketing@example.com / user123
- 修改
.env文件,设置生产环境配置 - 设置
DEBUG=False - 配置
SECRET_KEY为安全的随机字符串 - 配置
ALLOWED_HOSTS - 使用
gunicorn作为WSGI服务器
docker-compose -f docker-compose.prod.yml up -d[待定]
[待定]