项目简介
本项目是基于Django框架开发的在线编程竞赛平台,能提供高效、稳定且可扩展的系统,具备管理用户、问题、竞赛、提交、缓存、API访问和统计分析等功能,支持用户管理、问题管理、竞赛管理等核心功能。
项目的主要特性和功能
- 用户管理:定义用户基本信息、权限和状态,提供API和命令行工具进行用户创建、更新、删除操作。
- 问题管理:可进行问题的创建、编辑、删除、查看,问题能关联竞赛,支持标签和难度等级。
- 竞赛管理:管理竞赛的创建、编辑、删除和查看,提供竞赛排名、统计信息和用户参与情况。
- 提交管理:用户可提交代码解决竞赛或问题,提交有状态更新和结果反馈。
- 缓存管理:使用Redis存储缓存,提供API视图和序列化器处理缓存数据。
- API视图和序列化器:处理API请求,支持用户认证、数据验证和分页处理。
- 管理命令:提供Django管理命令,可执行创建用户、重置密码、初始化数据等任务。
- 验证码生成:用于用户注册或登录时的验证。
- UV统计:使用Redis统计每日独立访问用户数,提供统计数据的获取和更新。
安装使用步骤
环境准备
确保本地环境满足以下要求: - Python 3.6 - MySQL 5.7 - Redis 3.0.6 - Django 1.1.14
数据库配置
根据本地环境修改数据库配置文件 oj/dev_setting.py
,配置MySQL和Redis的连接信息。
安装依赖库
运行以下命令安装项目依赖:
bash
pip install --no-cache-dir -r deploy/requirements.txt -i https://pypi.douban.com/simple
初始化数据库
运行以下命令初始化数据库:
bash
python3 manage.py makemigrations
python3 manage.py migrate
配置服务
修改 deploy/supervisord_local.conf
文件,将执行路径替换为本地环境的实际路径。启动服务后,平台将监听在 127.0.0.1:8080
。
通过以上步骤,即可成功安装并运行本项目,使用在线编程竞赛平台的各项功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】