【模拟LeetCode项目】03 - 项目模块划分

1. 项目架构:B/S架构(浏览器 - 服务器 架构)

2. 项目所需机器:Windows 10电脑 、 虚拟机中安装CentOS 7 64位

3. 项目所用的技术:Linux、g++、cpp-httplib、ctemplate、json、boost、C++11

4. B/S间数据转换图

image-20210305221848987

  • 试题列表 请求及响应:点击题目列表后,服务器将所有的题目列成表返回到浏览器界面中
  • 单个试题信息 请求及响应:点击某单个试题名称后,服务器根据用户点击的题目名称自动从硬盘中寻找该题目信息,并返回指浏览器界面中
  • 代码提交 请求及响应:用户在代码框中写好代码,点击提交,代码被上传至服务器,服务器端对代码进行编译运行,使用测试用例检测代码准确性,将执行结果返回至浏览器界面中

5. 服务端模块划分图解

image-20210306083458786

  • http模块:负责接收用户的三种请求及响应
  • 试题模块:定义试题的属性、试题的存储方式、试题的组织方式、试题的样例设置
  • 编译运行模块:对用户提交的代码进行编译、运行、使用测试样例判断代码准确性、返回准确性信息或报错信息
    代码准确性、返回准确性信息或报错信息
  • 工具模块:提供一些工具类,比如:时间戳类、日志类、字符串方法等

Guess you like

Origin blog.csdn.net/weixin_45437022/article/details/114495588