# online_exam **Repository Path**: zhangjun76/online_exam ## Basic Information - **Project Name**: online_exam - **Description**: 这是一个基于 Python + Vue 的前后端分离的在线考试系统,支持学生端、教师端和管理端。系统具有开发部署简单、界面友好、代码结构清晰等特点。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-10-11 - **Last Updated**: 2025-10-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 在线考试系统 (Online Exam System) ## 系统简介 这是一个基于 Python + Vue 的前后端分离的在线考试系统,支持学生端、教师端和管理端。系统具有开发部署简单、界面友好、代码结构清晰等特点。 ## 技术栈 ### 后端 - **Python 3.8+** - **FastAPI** - 现代、快速的 Web 框架 - **SQLAlchemy** - ORM 框架 - **SQLite** - 轻量级数据库 - **Pydantic** - 数据验证 - **Passlib** - 密码加密 - **python-jose** - JWT 认证 ### 前端 - **Vue 3** - 渐进式 JavaScript 框架 - **Element Plus** - Vue 3 UI 组件库 - **Axios** - HTTP 客户端 - **Vue Router** - 路由管理 - **Pinia** - 状态管理 ## 功能模块 ### 学生端功能 - 用户注册/登录 - 在线考试 - 查看考试成绩 - 个人信息管理 - 考试历史记录 ### 教师端功能 - 试题管理(创建、编辑、删除) - 试卷管理(组卷、发布) - 成绩管理 - 学生管理 - 考试监控 ### 管理端功能 - 用户管理(学生、教师) - 系统配置 - 数据备份 - 日志管理 - 权限管理 ## 快速开始 ### 开发环境启动 #### 后端启动 ```bash cd backend pip install -r requirements.txt uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 ``` #### 前端启动 ```bash # 学生端 cd frontend/student npm install npm run dev # 教师端 cd frontend/teacher npm install npm run dev # 管理端 cd frontend/admin npm install npm run dev ``` ### Docker 部署 ```bash docker-compose up -d ``` ## 项目结构 ``` online_exam/ ├── backend/ # 后端代码 │ ├── app/ │ │ ├── main.py # FastAPI 主应用 │ │ ├── models/ # 数据模型 │ │ ├── schemas/ # Pydantic 模式 │ │ ├── routers/ # 路由处理 │ │ ├── services/ # 业务逻辑 │ │ ├── auth/ # 认证授权 │ │ └── utils/ # 工具函数 │ ├── requirements.txt # Python 依赖 │ └── Dockerfile # Docker 配置 ├── frontend/ # 前端代码 │ ├── student/ # 学生端 │ ├── teacher/ # 教师端 │ └── admin/ # 管理端 ├── docker/ # Docker 配置文件 ├── database/ # 数据库文件 ├── docs/ # 文档资料 └── README.md # 项目说明 ``` ## 数据库设计 ### 主要数据表 - users - 用户表 - exams - 考试表 - questions - 题目表 - answers - 答案表 - scores - 成绩表 - logs - 操作日志表 ## API 文档 启动后端服务后,访问: - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc ## 开发规范 ### 代码规范 - 使用 Black 进行代码格式化 - 遵循 PEP 8 规范 - 添加必要的注释和文档字符串 ### Git 规范 - 使用语义化的提交信息 - 功能开发使用 feature 分支 - 代码合并前进行 Code Review ## 许可证 MIT License