FATES: The Fully Anonymous Teaching Evaluation System
AIP 匿名身份提供平台架构基于 Opaak(开放匿名身份认证架构)和 CL 签名的理论支持。请参考:SecureCats/RelatedWork
- Client 客户端:学生用户
- AIP 前端:https://aip.fates.felinae98.cn
- TES 前端:https://pes.fates.felinae98.cn
- AIP 匿名身份提供服务端
- TES 课程评价服务端
仓库主要包含 AIP 服务端内容。其中 frontend/
路径为 submodule
,链接至 AIP 前端项目:SecureCats/AIP_FrontEnd
.
├── AIP_BackEnd // AIP 服务端
├── frontend // AIP 前端(以 submodule 形式链接)
│ ├── ...
│ └── src // AIP 前端(工程源代码)
├── ...
└── aipsite // AIP 服务端(工程源代码)
└── ...
由于项目包含有前后端全部内容,因此克隆项目至本地时需要将 submodule
也进行克隆。具体方法为:
git clone --recursive https://github.com/SecureCats/AIP_BackEnd.git
更多有关 submodule 的使用请参考:Working with submodules.
由于前后端需要同时部署,因此需要先 build 前端项目,再运行后端项目。具体操作如下:
- 配置环境
- 安装 Node.js:Installing Node.js via package manager
- 安装包管理
yarn
:yarn | Installation
- 安装依赖
yarn install
- 编译静态文件
yarn build
- 配置环境
- 安装 Python:Python 3 Installation & Setup Guide
- 安装
pipenv
:Installing Pipenv
- 安装依赖
pipenv install
- 进入 Python 虚拟环境
pipenv shell
- 初始化 Django 框架和数据库
# Migrate 数据库
python manage.py migrate
# 创建管理员账户
python manage.py createsuperuser
- 启动服务器
python manage.py runserver
登录页面位于:https://localhost:8000/
管理页面位于:http://localhost:8000/admin
查询 Public Key:/api/v1/pubkey/{classno}
返回数据:
{
"n": "{n}",
"a": "{a}",
"b": "{b}",
"c": "{c}",
"g": "{g}",
"h": "{h}"
}
🔑 AIP ©SecureCats. Released under the MIT License.
Authored and maintained by Team SecureCats.
© 2019 Made with 🖤 from BIT.