Explorar el Código

[修改] 代码题和文档题分开设计接口。

GuardOfDawn hace 7 años
padre
commit
dac7d0aa71

+ 171 - 0
assignment/api/Code-代码作业.md

@@ -0,0 +1,171 @@
+# Code - 代码作业
+
+> url 前缀:**/assignment/code**
+>
+> 示例:**https://xxxxxxxxx/api/assignment/code/xxxx**
+
+## 新建代码作业
+
+[TEACHER]
+
+```http
+post /course/:courseId/assignment/code
+```
+
+### Parameters
+
+```json
+{
+  "type":作业类型,String [CODE - 代码作业]
+  "name":作业名称,String
+  "description":作业描述,String
+  "startAt":开始时间,timestamp
+  "endAt":开始时间,timestamp
+  "problem":题目,Number
+}
+```
+
+### Response
+
+```json
+{
+  "data": CodeSerializer
+}
+```
+
+see [CodeSerializer](../serializer/CodeSerializer.md)
+
+
+## 更新代码作业信息
+
+[TEACHER]
+
+```http
+put /assignment/code/:codeId
+```
+
+### RequestBody
+
+```json
+{
+  "name":作业名称,String
+  "description":作业描述,String
+  "startAt":开始时间,timestamp
+  "endAt":开始时间,timestamp
+}
+```
+
+### Response
+
+```json
+{
+  "data": CodeSerializer
+}
+```
+
+see [CodeSerializer](../serializer/CodeSerializer.md)
+
+
+## 删除代码作业
+
+[TEACHER]
+
+```http
+delete /assignment/code/:codeId
+```
+
+
+## 老师查看代码作业列表
+
+[TEACHER]
+
+```http
+get /teacher/course/:courseId/assignment/code
+```
+
+### Response
+
+```json
+{
+  "data": List<CodeSerializer>
+}
+```
+
+see [CodeSerializer](../serializer/CodeSerializer.md)
+
+
+## 学生查看代码作业列表
+
+[STUDENT]
+
+```http
+get /student/course/:courseId/assignment/code
+```
+
+### Response
+
+```json
+{
+  "data": List<CodeSerializer>
+}
+```
+
+see [CodeSerializer](../serializer/CodeSerializer.md)
+
+
+## 学生查看单个代码作业
+
+[STUDENT]
+
+```http
+get /student/assignment/code/:codeId
+```
+
+### Response
+
+```json
+{
+  "data": CodeSerializer
+}
+```
+
+see [CodeSerializer](../serializer/CodeSerializer.md)
+
+
+
+## 老师查看单个代码作业的成绩列表(所有组的)
+
+[TEACHER]
+
+```http
+get /teacher/assignment/code/:codeId/result
+```
+
+### Response
+
+```json
+{
+  "data": List<ResultSerializer>
+}
+```
+
+see [ResultSerializer](../serializer/ResultSerializer.md)
+
+
+## 学生查看单个代码作业的成绩
+
+[STUDENT]
+
+```http
+get /student/assignment/code/:codeId/result
+```
+
+### Response
+
+```json
+{
+  "data": ResultSerializer
+}
+```
+
+see [ResultSerializer](../serializer/ResultSerializer.md)

+ 151 - 0
assignment/api/Document-文档作业.md

@@ -0,0 +1,151 @@
+# Document - 代码作业
+
+> url 前缀:**/assignment/document**
+>
+> 示例:**https://xxxxxxxxx/api/assignment/document/xxxx**
+
+## 新建文档作业
+
+[TEACHER]
+
+```http
+post /course/:courseId/assignment/document
+```
+
+### Parameters
+
+```json
+{
+  "type":作业类型,String [DOCUMENT - 文档作业]
+  "name":作业名称,String
+  "description":作业描述,String
+  "startAt":开始时间,timestamp
+  "endAt":开始时间,timestamp
+  "problem":题目编号,Number
+}
+```
+
+### Response
+
+```json
+{
+  "data": DocumentSerializer
+}
+```
+
+see [DocumentSerializer](../serializer/DocumentSerializer.md)
+
+
+## 更新文档作业信息
+
+[TEACHER]
+
+```http
+put /assignment/document/:documentId
+```
+
+### RequestBody
+
+```json
+{
+  "name":作业名称,String
+  "description":作业描述,String
+  "startAt":开始时间,timestamp
+  "endAt":开始时间,timestamp
+}
+```
+
+### Response
+
+```json
+{
+  "data": DocumentSerializer
+}
+```
+
+see [DocumentSerializer](../serializer/DocumentSerializer.md)
+
+
+## 删除文档作业
+
+[TEACHER]
+
+```http
+delete /assignment/document/:documentId
+```
+
+
+## 老师查看文档作业列表
+
+[TEACHER]
+
+```http
+get /teacher/course/:courseId/assignment/document
+```
+
+### Response
+
+```json
+{
+  "data": List<DocumentSerializer>
+}
+```
+
+see [DocumentSerializer](../serializer/DocumentSerializer.md)
+
+
+## 学生查看文档作业列表
+
+[STUDENT]
+
+```http
+get /student/course/:courseId/assignment/document
+```
+
+### Response
+
+```json
+{
+  "data": List<DocumentSerializer>
+}
+```
+
+see [DocumentSerializer](../serializer/DocumentSerializer.md)
+
+
+## 老师查看文档作业的成绩列表(所有小组)
+
+[TEACHER]
+
+```http
+get /teacher/assignment/document/:documentId/result
+```
+
+### Response
+
+```json
+{
+  "data": List<DocumentResultSerializer>
+}
+```
+
+see [DocumentResultSerializer](../serializer/DocumentResultSerializer.md)
+
+
+## 学生查看文档作业的成绩
+
+[STUDENT]
+
+```http
+get /student/assignment/document/:documentId/result
+```
+
+### Response
+
+```json
+{
+  "data": DocumentResultSerializer
+}
+```
+
+see [DocumentResultSerializer](../serializer/DocumentResultSerializer.md)

+ 24 - 0
assignment/api/Project-代码作业项目信息.md

@@ -0,0 +1,24 @@
+# Project - 代码作业项目信息
+
+> url 前缀:**project**
+>
+> 示例:**https://xxxxxxxxx/api/project/xxxx**
+
+
+## 学生查看代码作业项目信息列表
+
+[STUDENT]
+
+```http
+get /student/assignment/code/:codeId/project
+```
+
+### Response
+
+```json
+{
+    "data": List<ProjectSerializer>
+}
+```
+
+see [ProjectSerializer](../serializer/ProjectSerializer.md)

+ 0 - 246
assignment/api/前端api接口设计.md

@@ -1,246 +0,0 @@
-# Assignment - 作业
-
-> url 前缀:/api
-
-
-## 获取作业类型
-
-```http
-get /assignment/type
-```
-
-### Response
-
-```json
-{
-  "data":List<AssignmentType>
-}
-```
-
-see [AssignmentType](../serializer/AssignmentType.md)
-
-
-## 创建作业
-
-```http
-post /assignment
-```
-
-### RequestBody
-
-```json
-{
-  assignmentType:作业类型,String
-  name:作业名称,String
-  description:作业描述,String
-  startAt:开始时间,timestamp
-  endAt:开始时间,timestamp
-  problem:题目,Number
-}
-```
-
-### Response
-
-```json
-{
-  "data": AssignmentVO
-}
-```
-
-see [AssignmentVO](../serializer/AssignmentVO.md)
-
-
-## 查看作业(分页)
-
-```http
-get /course/:courseId/assignment
-```
-### RequestParam
-不传值时,为获取全部
-```
-type:作业类型,String,枚举值如下
-			- CODE:编程作业
-			- DOCUMENT:文档作业
-			- REVIEW:互评作业
-			- ML:机器学习作业
-status:作业状态,String,枚举值如下
-			- PREPARING:准备中
-			- UNAVAILABLE:创建失败
-			- READY:创建成功,但是作业未到开始时间
-			- AVAILABLE:作业开放中
-			- FINISHED:作业已经结束
-page:页,Number
-num:数量,Number
-```
-
-### Response
-
-```json
-{
-  "data": List<AssignmentVO>
-}
-```
-
-see [AssignmentVO](../serializer/AssignmentVO.md)
-
-
-## 查看单个作业
-
-```http
-get /assignment/:assignmentId
-```
-### Response
-
-```json
-{
-  "data": AssignmentVO
-}
-```
-
-see [AssignmentVO](../serializer/AssignmentVO.md)
-
-
-
-## 更新作业信息
-
-```http
-post /assignment/:assignmentId
-```
-
-### RequestBody
-
-```json
-{
-  name:作业名称,String
-  description:作业描述,String
-  startAt:开始时间,timestamp
-  endAt:开始时间,timestamp
-}
-```
-
-### Response
-
-```json
-{
-  "data": AssignmentVO
-}
-```
-
-see [AssignmentVO](../serializer/AssignmentVO.md)
-
-
-## 删除作业
-
-```http
-delete /assignment/:assignmentId
-```
-
-
-# 作业记录
-
-> url 前缀:/api
-
-## 老师查看作业记录
-
-```http
-get /assignment/:assignmentId/record/teacher
-```
-
-### Response
-
-```json
-{
-  "data": List<RecordVO>
-}
-```
-
-see [RecordVO](../serializer/RecordVO.md)
-
-## 学生查看作业记录
-
-```http
-get /assignment/:assignmentId/record/student
-```
-
-### Response
-
-```json
-{
-  "data": RecordVO
-}
-```
-
-see [RecordVO](../serializer/RecordVO.md)
-
-
-## 查看作业记录
-
-```http
-get /record/:recordId
-```
-
-### Response
-
-```json
-{
-  "data": RecordVO
-}
-```
-
-see [RecordVO](../serializer/RecordVO.md)
-
-
-# 作业成绩
-
-> url 前缀:/api
-
-## 查看作业成绩
-
-```http
-get /assignment/:assignmentId/result
-```
-
-### Response
-
-```json
-{
-  "data": List<ResultVO>
-}
-```
-
-see [ResultVO](../serializer/ResultVO.md)
-
-
-## 查看某个作业记录的成绩
-
-```http
-get /record/:recordId/result
-```
-
-### Response
-
-```json
-{
-  "data": ResultVO
-}
-```
-
-see [ResultVO](../serializer/ResultVO.md)
-
-
-## 查看成绩
-
-```http
-get /result/:resultId
-```
-
-### Response
-
-```json
-{
-  "data": ResultVO
-}
-```
-
-see [ResultVO](../serializer/ResultVO.md)
-

+ 0 - 23
assignment/serializer/AssignmentVO.md

@@ -1,23 +0,0 @@
-# AssignmentVO
-- 团队作业
-- 属性:
-	- id:作业编号,Number
-	- name:作业名称,String
-	- description:作业描述,String
-	- status:作业状态,String
-		- PREPARING:准备中
-		- UNAVAILABLE:创建失败
-		- READY:创建成功,但是作业未到开始时间
-		- AVAILABLE:作业开放中
-		- FINISHED:作业已经结束
-	- createAt:创建时间,timestamp(秒)
-	- startAt:开始时间,timestamp
-	- endAt:结束时间,timestamp
-	- type:作业类型,String,枚举值如下
-		- CODE:编程作业
-		- DOCUMENT:文档作业
-		- REVIEW:互评作业
-		- ML:机器学习作业
-	- problem:作业题目,NestProblemVO
-		- name: 题目名称,String
-		- description: 题目描述,String

+ 23 - 0
assignment/serializer/CodeResultSerializer.md

@@ -0,0 +1,23 @@
+# CodeResultSerializer
+
+代码作业成绩的基本信息
+
+## Attributes
+
+- id : **Number** - 代码作业成绩 id
+- code:**Number** - 所属代码作业 id
+- group:[**GroupSerializer**](../../course/serializer/GroupSerializer.md) - 所属小组
+- unitTestScore:**```List<ScoreSerializer>```** - 单元测试分数(TBD)
+- functionTestScore:**```List<ScoreSerializer>```** - 功能测试分数(TBD)
+- score:**Number** - 总分
+
+
+# ScoreSerializer
+
+成绩条目
+
+## Attributes
+
+- id:**Number** - 条目编号
+- name:**String** - 条目名称
+- score:**String** - 得分

+ 26 - 0
assignment/serializer/CodeSerializer.md

@@ -0,0 +1,26 @@
+# CodeSerializer
+
+代码作业的基本信息
+
+## Attributes
+
+- id : **Number** - 代码作业 id
+- name : **String** - 代码作业名称
+- description : **String** - 代码作业描述
+- status:**String** - 作业状态 [ PREPARING - 准备中,UNAVAILABLE - 创建失败,READY - 创建成功(但未到作业开始时间),AVAILABLE - 作业开放中,FINISHED - 作业已经结束]
+- createAt:**timestamp** - 创建时间
+- startAt:**timestamp** - 开始时间
+- endAt:**timestamp** - 结束时间
+- problem:**NestedProblemSerializer** - 作业题目
+
+
+
+# NestedProblemSerializer
+
+代码作业中题目的简略信息
+
+## Attributes
+
+- id : **Number** - 代码题目 id
+- name: **String** - 题目名称
+- description: **String** - 题目描述

+ 11 - 0
assignment/serializer/DocumentResultSerializer.md

@@ -0,0 +1,11 @@
+# DocumentResultSerializer
+
+文档作业成绩
+
+## Attributes
+
+- id : **Number** - 文档作业成绩 id
+- document:**Number** - 所属文档作业 id
+- group:[**GroupSerializer**](../../course/serializer/GroupSerializer.md) - 所属小组
+- state:**String** - 作业状态(TBD)
+- result:**String** - 成绩等级(TBD)

+ 27 - 0
assignment/serializer/DocumentSerializer.md

@@ -0,0 +1,27 @@
+# DocumentSerializer
+
+文档作业的基本信息
+
+## Attributes
+
+- id : **Number** - 文档作业 id
+- name : **String** - 文档作业名称 | `{2-100}`
+- description : **String** - 文档作业描述 | `{1-256}`
+- status:**String** - 作业状态 [ PREPARING - 准备中,UNAVAILABLE - 创建失败,READY - 创建成功(但未到作业开始时间),AVAILABLE - 作业开放中,FINISHED - 作业已经结束]
+- createAt:**timestamp** - 创建时间
+- startAt:**timestamp** - 开始时间
+- endAt:**timestamp** - 结束时间
+- problem:**NestedProblemSerializer** - 作业题目
+- url:**String** - 作业git地址
+
+
+
+# NestedProblemSerializer
+
+代码作业中题目的简略信息
+
+## Attributes
+
+- id : **Number** - 代码题目 id
+- name: **String** - 题目名称
+- description: **String** - 题目描述

+ 14 - 0
assignment/serializer/ProjectSerializer.md

@@ -0,0 +1,14 @@
+# ProjectSerializer
+
+代码作业项目的基本信息
+
+## Attributes
+
+- id : **Number** - 代码作业项目 id
+- codeId:**Number** - 代码作业 id
+- url : **String** - 项目git地址
+- name : **String** - 项目名称
+- buildIdList:**List<Number>** - 构建IDlist
+- deployIdList:**List<Number>** - 部署IDlist
+- unitTestIdList:**List<Number>** - 单元测试IDlist
+- functionTestIdList:**List<Number>** - 页面功能测试IDlist

+ 0 - 9
assignment/serializer/RecordVO.md

@@ -1,9 +0,0 @@
-# RecordVO
-- 作业记录
-- 属性:
-	- id:记录编号,Number
-	- assignment:所属作业,NestAssignmentVO
-		- id:编号,Number
-		- name: 作业名称,String
-	- group:所属组,String
-	- url:作业项目地址,String

+ 0 - 17
assignment/serializer/ResultVO.md

@@ -1,17 +0,0 @@
-# ResultVO
-- 作业成绩
-- 属性:
-	- id:成绩编号,Number
-	- assignment:所属作业,Number
-	- record:所属记录,Number
-	- score:总分,Number
-	- detail:细分分数,```List<ScoreVO>```
-
-
-# ScoreVO
-- 成绩条目
-- 属性:
-	- id:条目编号
-	- name:条目名称
-	- score:得分
-	- detail:细分分数,```List<ScoreVO>```,没有细分时,该项为null