# New Geexin Server **Repository Path**: yveswong/new-geexin-server ## Basic Information - **Project Name**: New Geexin Server - **Description**: New Geexin Server Dev with TDD. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-11 - **Last Updated**: 2022-06-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # New Geexin Server ## 后台设计构思 - [x] 后台数据库搭建 - [x] 后台请求API设计(不考虑其他乱七八糟的东西) - [x] 思考Serializer应该如何实现(基本上实现了) - [x] 权限控制(比如所有Model的删除没做) - [x] 错误处理(获取不到对象时返回404,以及自己定义的一些错误……,现在还没有统一的格式)(基本上完成了,字段校验部分还没有研究) - [x] Cert的内容检查(参与度、人员情况、提交字段等,是否符合要求) - [x] Django Admin界面适配 - [ ] 登陆换用Session处理(Token感觉还是不太合适)update: 最后还是换用Token处理了 我想一次只做好一件事(按照手册开发也应该是这样啦),希望这次可以坚持下来。 ### 后台数据库搭建 TDD模式开发,但其实测试用例并不是为了测试,主要是测试这种模型设计能否满足基本的业务逻辑。 ### 后台请求API设计 URL设计规范约定 1. 第一个字段表示操作的实体 2. 后面可选跟上的可能是获取准确实体(跟id) 3. 列表范围通过post方式请求得到 我们希望可以通过前端一次调用多个API实现功能,而不是一个大大的请求过来完成太多的事情。 1. 用户管理相关 - [x] POST /users/ 注册新用户 - [x] POST /login/ 登陆 - [x] PUT/PATCH /users/ 修改用户信息 - [ ] GET /logout/ 登出 2. 证书管理 - [x] POST /certs/ 添加证书(同时更新Join) - [x] GET /certs/ 得到证书列表(任何列表相关的都在这里实现) - [x] POST /certs//join/ 通过请求 - [x] GET /certs/?all_accept=False 得到自己的证书 - [x] GET /certs/ 得到证书详情 3. 竞赛类目管理 - [x] GET /cates/ 获取竞赛列表 - [x] POST /cates/ 添加竞赛 - [x] GET /cates/ 获取竞赛详情 - [x] PUT/PATCH /cates/ 更新竞赛信息 4. 收集竞赛类目信息管理 - [x] POST /collectcates/ 添加竞赛类目信息 - [x] GET /collectcates/ 获取要收集的竞赛列表 - [ ] PUT/PATCH /collectcates/ 修改收集竞赛类目信息 5. 竞赛级别信息管理 - [x] POST /levels/ 添加竞赛级别 6. 部门信息管理 - [ ] GET /departments/ 获取部门列表 - [x] POST /departments/ 更新部门信息 - [ ] GET /departments/ 获取部门信息 - [x] PUT/PATCH /departments/ 修改部门信息