目录

PaperLine

RESET 小组论文投稿与状态跟踪系统。

项目简介

PaperLine 是面向 RESET 研究小组的论文投稿全生命周期管理工具,用于跟踪每篇论文从计划、写作、投稿、审稿、Rebuttal、录用到发表的完整流程,并提供会议截稿提醒与小组成员管理。

主要功能:

  • 投稿看板:按状态(计划中 / 写作中 / 已投稿 / 审稿中 / Rebuttal / 已录用 / 被拒 / 已发表)分组展示所有投稿计划,支持筛选与新增
  • 论文详情:记录标题、目标会议/期刊、CCF 等级、状态、Deadline、Overleaf 链接、DOI、发表链接、作者、备注,状态变更自动记录历史
  • 截稿列表:展示重要会议的摘要截止、全文截止与倒计时;管理员可新增 / 编辑 / 删除会议记录,普通成员只读
  • 已发表论文:按年份筛选已发表论文列表,展示 DOI 与原文链接
  • 成员管理:管理员可新增 / 编辑 / 删除成员、审核注册申请;新用户注册后需管理员审核通过才能登录
  • 权限控制:基于 NextAuth 的登录鉴权,管理员与普通成员权限分离
  • PWA 支持:可添加到手机主屏幕当 App 使用

技术栈

  • Next.js 14(App Router)
  • React 18 + TypeScript
  • Tailwind CSS
  • Prisma + SQLite
  • NextAuth.js(Credentials Provider)
  • Docker

本地开发

# 安装依赖
npm install

# 初始化数据库(首次运行)
npx prisma migrate dev
npx prisma db seed

# 启动开发服务器
npm run dev

访问 http://localhost:3000/paperline/login

默认管理员账号:管理员 / admin123

生产构建

npm run build
npm start

Docker 部署

docker compose up -d --build

默认端口为 1443,应用路径为 /paperline。数据库文件持久化在 Docker volume db-data 中,容器启动时会自动执行 prisma migrate deploy 与 seed。

环境变量

变量 说明
DATABASE_URL SQLite 数据库路径,如 file:./dev.db
NEXTAUTH_SECRET NextAuth 加密密钥(生产环境请使用随机字符串)
NEXTAUTH_URL 部署后的完整 URL(含 /paperline
NEXT_PUBLIC_BASE_PATH 应用基础路径,默认 /paperline

目录结构

.
├── prisma/
│   ├── schema.prisma        # 数据模型(User / Paper / Conference 等)
│   ├── seed.ts              # 初始数据(管理员 + 会议)
│   └── migrations/          # 数据库迁移
├── src/
│   ├── app/
│   │   ├── api/             # 后端 API 路由
│   │   │   ├── auth/        # NextAuth 认证
│   │   │   ├── deadlines/   # 会议截稿 CRUD(管理员可写)
│   │   │   ├── members/     # 成员管理(管理员可写)
│   │   │   ├── papers/      # 论文 CRUD + 状态变更
│   │   │   └── register/    # 用户注册
│   │   ├── deadlines/       # 截稿列表页
│   │   ├── login/           # 登录页
│   │   ├── members/         # 成员管理页
│   │   ├── papers/          # 论文详情 / 新建页
│   │   ├── published/       # 已发表论文页
│   │   ├── register/        # 注册页
│   │   ├── settings/        # 系统设置(管理员)
│   │   ├── layout.tsx
│   │   └── page.tsx         # 投稿看板首页
│   ├── components/          # 公共组件(Navbar / PaperCard 等)
│   ├── lib/                 # 工具(auth / prisma / guards / constants)
│   ├── middleware.ts        # 路由鉴权中间件
│   └── types/
├── Dockerfile
├── docker-compose.yml
└── package.json

数据模型

  • User:用户(管理员 / 成员 / 待审核),含姓名、邮箱、密码哈希、角色、年级、入学年份、研究方向
  • Paper:论文投稿计划,含标题、目标会议、CCF 等级、状态、Deadline、Overleaf/DOI/发表链接、作者关联
  • PaperAuthor:论文与作者的多对多关系
  • StatusHistory:论文状态变更历史
  • Conference:会议截稿信息,含摘要截止、全文截止、会议日期、CCF 等级
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号