init
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
# 衡准 · 考试信息管理系统
|
||||
|
||||
一个完整可运行的双角色考试信息管理系统,使用零依赖 Node.js 后端和 JSON 持久化,开箱即可运行。
|
||||
|
||||
## 已实现功能
|
||||
|
||||
### 公开服务首页
|
||||
|
||||
- 通知公告首页展示与详情阅读
|
||||
- 已发布考试、报名时间、考试时间和科目展示
|
||||
- 考试服务办理流程说明
|
||||
- 考生注册与双角色登录入口
|
||||
|
||||
### 考生中心
|
||||
|
||||
- 考生自主注册、登录和实名资料维护
|
||||
- 资料审核状态与管理员审核意见
|
||||
- 查看开放考试并自主选择多个报考科目
|
||||
- 查看报名、缴费和审核状态
|
||||
- 准考证生成状态、开放时间与下载
|
||||
- 已发布成绩查询
|
||||
- 通知公告中心
|
||||
|
||||
### 管理后台
|
||||
|
||||
- 考务指标与审计日志
|
||||
- 考生资料审核、通过或退回修改
|
||||
- 考试报名及科目审核
|
||||
- 创建考试、配置报名/考试/准考证时间与多个科目
|
||||
- 通知发布、草稿、撤回及首页置顶
|
||||
- 为审核通过的报名生成准考证号、考点、考场和座位
|
||||
- 单科成绩录入、等级计算与发布控制
|
||||
- 管理员与考生接口权限隔离
|
||||
|
||||
### 系统能力
|
||||
|
||||
- PBKDF2 加盐密码哈希
|
||||
- HttpOnly、SameSite 登录 Cookie
|
||||
- 服务端角色权限校验
|
||||
- JSON 文件持久化
|
||||
- 关键管理操作审计日志
|
||||
- 桌面端与移动端响应式布局
|
||||
- 零第三方运行时依赖
|
||||
|
||||
## 运行
|
||||
|
||||
需要 Node.js 18 或更高版本。
|
||||
|
||||
```powershell
|
||||
npm start
|
||||
```
|
||||
|
||||
打开 <http://127.0.0.1:4173>。
|
||||
|
||||
首次运行会自动创建 `data/db.json`。
|
||||
|
||||
## 演示账号
|
||||
|
||||
| 角色 | 账号 | 密码 |
|
||||
| --- | --- | --- |
|
||||
| 管理员 | `admin` | `Admin123!` |
|
||||
| 考生 | `13800138000` | `Candidate123!` |
|
||||
|
||||
## 自动化测试
|
||||
|
||||
```powershell
|
||||
npm test
|
||||
```
|
||||
|
||||
测试使用独立临时数据库,覆盖注册、审核、多科目报名、准考证生成与下载、通知发布、成绩发布和权限隔离完整流程。
|
||||
|
||||
## 项目结构
|
||||
|
||||
```text
|
||||
index.html 页面入口
|
||||
styles.css 公共首页、考生端、管理端响应式样式
|
||||
app.js 前端路由、状态和业务交互
|
||||
server.mjs HTTP 服务、认证、权限与全部业务 API
|
||||
tests/system.test.mjs 端到端系统测试
|
||||
data/db.json 运行后生成的持久化数据
|
||||
```
|
||||
Reference in New Issue
Block a user