Skip to content

Repository files navigation

🌟 智能影像计算实验室管理系统 🧪

项目概述

本系统是基于 Django 5.2 开发的智能影像计算实验室综合管理平台。它全面覆盖实验室信息维护、科研成果管理、成员协作社区及智能问答助手四大核心场景。系统支持多角色分级权限,涵盖普通用户、三级管理员、二级管理员和一级管理员。借助富文本编辑、向量检索等先进技术,实现了实验室从基础信息到成果沉淀的全流程数字化管理。

🌈 核心功能特性

1. 用户与权限管理

  • 用户体系:提供注册、登录功能,支持个人信息编辑,包括头像上传和联系方式修改。用户可随时查看自己的角色(普通用户/三级/二级/一级管理员)。
  • 权限分级
    • 普通用户:拥有浏览系统内各类内容的权限,可自由发布帖子和回复,申请加入话题,还能查看新闻。
    • 三级/二级管理员:负责审核帖子和话题,可查看拒绝原因,及时删除违规内容,并对新闻进行初审。
    • 一级管理员:拥有最高权限,可管理实验室概况(如成立背景、发展历程)、成员信息、科研成果(论文、专利、项目),对新闻进行终审,还能配置轮播图。

2. 实验室基础信息管理

  • 实验室概况:一级管理员可更新实验室的成立背景、发展历程、组织架构,系统支持字数统计。同时,可上传实验室手册(仅支持 ≤10MB 的 PDF 文件),并配置实验室图片轮播,支持多图上传和删除。
  • 成员管理:能够添加和修改成员信息,包括研究方向、学术履历、联系方式。可关联成员的学术成果(论文、专利、项目),支持按角色(教授、副教授、研究生等)分类展示成员,在成员详情页可查看其学术成果列表。

3. 科研成果管理

  • 论文管理:支持添加论文标题、DOI 链接、发表日期(使用日期选择器)、发表媒介(期刊、会议、研讨会)。可关联参与成员,上传论文 PDF(支持下载),并进行分类管理(一级分类:综述、医学影像处理论文、自然图像处理论文;二级分类:期刊、会议、研讨会)。
  • 专利管理:记录专利标题、技术领域、转化状态、专利号,支持上传专利图片(多图展示)。
  • 项目管理:跟踪项目周期(开始和结束日期)、核心成员、进度里程碑、阶段性成果,标记项目状态(进行中、已完成),关联 GitHub 项目链接。

4. 协作社区(IIC Club)

  • 话题与帖子:用户可以创建话题(需审核)、发布帖子(使用 CKEditor 5 富文本编辑器),支持帖子回复(嵌套回复)、折叠/展开历史回复。
  • 审核机制:管理员可审核未通过的话题和帖子,查看拒绝原因(需填写至少 10 字说明)。
  • 互动功能:具备用户卡片(点击头像查看详细信息)、分页导航,帖子和回复仅作者或管理员可删除。

5. 新闻与轮播图管理

  • 新闻发布:支持新闻在草稿、待初审、初审通过、终审通过、已发布、已拒绝等状态间流转,可上传封面图,使用 CKEditor 5 编辑内容,支持按状态、关键词、日期范围筛选新闻。
  • 轮播图配置:可绑定静态图片、论文、项目、专利或新闻,支持排序和启用状态管理,可自定义标题和描述。

6. 智能问答助手(IICRobot)

  • 知识库构建:支持加载 PDF、Word、网页等文档,通过 DashScope API 生成文本向量,存储至 Chroma 向量数据库。
  • 智能检索:用户提问时,自动检索知识库相关内容,结合上下文生成回答,支持本地知识库与通用模型融合。

🛠️ 技术栈

分类 技术/工具 说明
后端框架 Django 5.2 Python Web 框架,提供 MVC 架构支持
数据库 MySQL 8.0+ 存储用户、实验室、成果等数据
前端样式 Tailwind CSS 响应式布局,快速实现设计风格
富文本编辑 CKEditor 5 新闻、帖子、话题内容编辑(支持图片上传)
向量数据库 Chroma 存储实验室知识库向量数据
嵌入模型 DashScope(text-embedding-v3) 文本向量化,支持 1024 维向量生成
图标库 Font Awesome 6.7.2 提供界面图标支持(如 fas fa-comments)

📋 环境要求

  • Python:3.13+(推荐 3.13.0)
  • Django:5.2+
  • MySQL:8.0+(或 SQLite 3 用于开发)
  • Node.js:可选(用于 Tailwind CSS 构建)
  • 依赖库requirements.txt 包含 Django、django-ckeditor-5、Pillow(图像处理)、langchain(知识库管理)等核心库。
  • 环境变量:需配置 DASHSCOPE_API_KEY(用于智能助手的向量生成)。

🚀 安装与配置

1. 克隆项目

git clone <项目仓库地址>
cd IIC_Django

2. 创建并激活虚拟环境

Linux/MacOS

python -m venv venv
source venv/bin/activate

Windows

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

3. 安装依赖

pip install -r requirements.txt

4. 配置数据库

修改 IIC_Django/settings.py 中的数据库配置(以 MySQL 为例):

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'iic_lab',       # 数据库名
        'USER': 'root',          # 数据库用户名
        'PASSWORD': 'your_pass', # 数据库密码
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

5. 执行数据库迁移

python manage.py makemigrations
python manage.py migrate

6. 创建超级用户(一级管理员)

python manage.py createsuperuser

7. 配置智能助手(可选)

Linux/MacOS

export DASHSCOPE_API_KEY="your_api_key"

Windows(命令行)

set DASHSCOPE_API_KEY=your_api_key

🏃‍♂️ 运行项目

python manage.py runserver

访问 http://127.0.0.1:8000/ 进入系统首页。

📁 项目结构

IIC_Django/
├── IIC_Django/          # Django 核心配置
│   ├── settings.py      # 全局配置(数据库/应用/静态文件)
│   ├── urls.py          # 全局路由
│   └── wsgi.py          # WSGI 入口
├── apps/                # 业务应用
│   ├── club/            # 社区模块(话题/帖子/回复)
│   │   ├── models.py    # 话题/帖子/回复模型
│   │   ├── forms.py     # 富文本表单(CKEditor 5)
│   │   └── admin.py     # 后台管理配置
│   ├── news/            # 新闻模块(发布/审核)
│   │   ├── models.py    # 新闻模型(含状态字段)
│   │   └── views.py     # 新闻审核视图(支持状态筛选)
│   ├── lab_overview/    # 实验室概况管理
│   │   ├── models.py    # 实验室概况模型(含手册文件字段)
│   │   └── forms.py     # 手册文件验证(PDF≤10MB)
│   └── ...              # 其他模块(member/paper/project等)
├── templates/           # 前端模板
│   ├── base.html        # 基础模板(导航/页脚)
│   ├── club/            # 社区页面(wall.html/topics.html)
│   ├── news/            # 新闻页面(news_detail.html/review_news_list.html)
│   └── ...              # 其他模块模板
├── static/              # 静态文件
│   ├── css/             # Tailwind 样式
│   ├── js/              # 交互脚本(帖子折叠/轮播图切换)
│   └── avatar/          # 默认头像
├── media/               # 用户上传文件(头像/专利图片/论文PDF)
├── chroma_db/           # 智能助手知识库(Chroma向量数据库)
├── IICRobot.py          # 智能问答助手主程序
├── manage.py            # Django 管理脚本
└── README.md            # 项目说明文档

👥 参与贡献

  • CatStatic(李润杰)👏
  • Liu Zhixiong(刘志雄)👏
  • okok-meme(张曼)👏
  • gaga511(邓嘉芯)👏
  • xufang71(余可馨)👏

📝 贡献指南

  1. Fork 本仓库到个人账号。
  2. 创建特性分支:git checkout -b feature/new-feature
  3. 提交代码并添加清晰的提交说明。
  4. 推送分支到远程仓库:git push origin feature/new-feature
  5. 提交 Pull Request,描述功能或修复的细节。

📞 联系信息

如有问题或建议,欢迎联系:18181274603@shu.edu.cn

📄 许可证

本项目采用 MIT 许可证,欢迎开源贡献!

About

智能影像计算实验室网站

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages