Skip to content

cnyiwei/opencert

Repository files navigation

OpenCert - 企业级证书生成与管理系统

OpenCert 是一个基于 Django 构建的开源证书管理平台,专为教育机构、企业和活动组织者设计。它提供了一站式的解决方案,用于设计、生成、分发和验证电子证书。

🌟 主要功能

1. 多租户机构管理

  • 支持多机构注册与隔离。
  • 每个机构可独立管理自己的活动、模板和证书数据。
  • 完善的权限控制体系。

2. 可视化模板设计器

  • 内置基于 Fabric.js 的可视化拖拽编辑器。
  • 支持自定义背景图片上传。
  • 灵活配置文本字段(姓名、编号、日期等)的位置、字体大小和颜色。
  • 实时预览证书效果。

3. 活动与学员管理

  • 创建和管理各类培训、比赛或会议活动。
  • 关联特定的证书模板。
  • 批量导入学员信息(支持 CSV/Excel 导入模板)。

4. 批量证书生成

-基于 ReportLab 和 Pillow 的高性能 PDF 生成引擎。

  • 自动生成唯一的证书编号和防伪二维码。
  • 支持批量生成 PDF 文件,方便下载和打印。

5. 公开验证门户

  • 提供公开的证书验证页面。
  • 支持通过证书编号或扫描二维码进行真伪查验。
  • 验证页面展示证书详细信息及原始 PDF 下载。

🛠️ 技术栈

  • 后端: Python 3.8+, Django 5.2
  • 数据库: SQLite (默认), 支持 PostgreSQL/MySQL
  • PDF处理: ReportLab, xhtml2pdf
  • 图像处理: Pillow, qrcode
  • 前端: HTML5, Bootstrap 5, Fabric.js (用于画板功能)

🚀 快速开始

1. 克隆项目

git clone https://github.com/cnyiwei/opencert.git
cd opencert

2. 创建虚拟环境

# Windows
python -m venv venv
.\venv\Scripts\activate

# Linux/macOS
python3 -m venv venv
source venv/bin/activate

3. 安装依赖

pip install -r requirements.txt

4. 下载静态资源

本项目依赖 Bootstrap 和 Fabric.js 等前端库,运行以下脚本自动下载:

python download_assets.py

5. 数据库迁移

python manage.py migrate

6. 创建管理员账户

python manage.py createsuperuser

7. 启动开发服务器

python manage.py runserver

访问 http://127.0.0.1:8000 即可开始使用。

<<<<<<< HEAD

🐳 Docker 部署

如果你更喜欢使用 Docker 部署,可以直接使用以下命令(需先安装 Docker 和 Docker Compose):

  1. 构建并启动:
    docker-compose up --build
  2. 访问应用: 访问 http://localhost 即可开始使用。

=======

7d2df3a74bdd71ab4cd8ed0d111941a9db14aa14

📂 项目结构

opencert/
├── certificates/      # 证书核心业务逻辑 (Model, Views)
├── core/              # 核心功能 (Organization, User)
├── opencert/          # 项目配置 (Settings, URLs)
├── static/            # 静态文件 (CSS, JS, Images)
├── templates/         # HTML 模板文件
├── media/             # 用户上传文件 (Logo, 背景图, 生成的证书)
├── download_assets.py # 静态资源下载脚本
├── manage.py          # Django 管理脚本
└── requirements.txt   # 项目依赖

📝 使用指南

  1. 注册与登录: 访问首页进行机构注册或管理员登录。
  2. 完善机构信息: 上传机构 Logo,填写简介。
  3. 设计模板:
    • 进入“模板管理”,点击“新建模板”。
    • 上传证书背景图。
    • 使用“设计”功能拖拽配置姓名、编号等字段位置。
  4. 创建活动:
    • 新建活动,选择刚刚设计的模板。
    • 设置活动时间和描述。
  5. 录入数据 & 生成:
    • 在活动详情页添加学员信息。
    • 点击“生成证书”按钮,系统将自动生成带二维码的 PDF。
  6. 验证: 扫描证书上的二维码或访问验证链接查看证书真伪。

⚠️ 注意事项

  • 生产环境部署: 请务必在生产环境中修改 settings.py 中的 SECRET_KEY 并将 DEBUG 设置为 False
  • 字体支持: PDF 生成依赖系统字体,如遇中文乱码问题,请确保服务器安装了支持的中文字体(如 SimHei, Arial Unicode MS 等),或在代码中指定字体路径。

📄 许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors