项目名称:在线评测系统
项目简介: 在线评测系统是一个用于承载 ACM 竞赛的网站平台,提供题目发布、答案
提交、自动评测、成绩统计等功能。这个项目旨在帮助学生练习编程能力,提高解决问题的
能力和编程技巧。
功能模块:
题库管理: 管理题目的信息,包括题目名称、描述、输入输出样例、标签等。
用户管理: 注册、登录、个人信息管理、权限控制等功能。
比赛管理: 发布比赛、设置比赛规则、报名参赛、比赛成绩统计等。
答案提交: 学生通过网页界面提交代码答案,支持多种编程语言。
自动评测: 根据题目要求和测试用例,自动评测学生提交的代码,并给出评测结果和
错误信息。
排名展示: 显示学生在比赛中的排名情况,包括总分、通过题目数量等。
技术实现:
前端开发: 使用 HTML、CSS、JavaScript 等前端技术开发网页界面,使用 Vue.js、React
等前端框架提升用户体验。
后端开发: 使用 Python、Java、C++等编程语言开发后端服务,处理用户请求、评测
代码、管理数据等。
数据库设计: 使用关系型数据库(如 MySQL、PostgreSQL)或 NoSQL 数据库(如
MongoDB)存储用户信息、题目信息、比赛信息等。
评测引擎: 编写评测引擎,根据题目要求和测试用例评测学生提交的代码,支持多种
编程语言。
团队构成:
前端工程师: 负责设计和开发网页界面,实现用户交互功能。
后端工程师: 负责开发服务器端应用程序,处理用户请求和数据管理等。
数据库管理员: 负责设计数据库结构、优化数据库性能、备份和恢复数据等。
测试工程师: 负责对系统进行测试和调试,确保系统稳定和可靠。