1 Star 0 Fork 82

rtpay / 知了-轻量化知识管理

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 11.87 KB
一键复制 编辑 原始数据 按行查看 历史
胡裕竹 提交于 2022-02-23 16:09 . update README.md.

“知了”——面向中小团队的轻量化知识管理应用

产品介绍

“知了”是自邮之翼团队研发的一款面向中小型团队的轻量化知识管理应用。自邮之翼团队是一支主要由北京邮电大学教师和研究生组成的科研团队。“知了”在功能上突出“知识管理”,使用中力求“轻量化”。

logo

“知了”以知识管理的全生命周期为核心,围绕知识的分享再利用,构建中小团队的知识库和知识分享社区,保证知识管理的核心功能。产品的主要特点如下:

  • 汇聚知识:聚合多元知识,积累知识资产;
  • 发现知识:便捷精准搜索,分级搜索查找;
  • 分享知识:组内便捷共享,组间受控隔离。

“知了”的目标人群为中小团队,在保证知识管理的核心功能的基础上,提出更简单、易维护的技术架构,力求界面UI的简洁明了,降低用户使用的门槛,达到全方位的“轻量化“:

  • 功能聚焦:保证核心功能,降低使用成本;
  • 部署方便:基于容器部署,一键快捷上线;
  • 运维简单:系统架构简洁,提供系统管理。

特色功能

2022年02月23日更新

“知了”提供了Open API,用户可以通过知了的开放能力快速构建不同场景下的知识管理类应用。例如下图为一个数据集发现门户的demo,正是基于知了的Open API 快速实现的。

image-20220223213741255

2021年12月26日更新

“知了”本次更新提供了资源导出为PDF的功能,欢迎大家试用并提出问题~

2021年10月15日更新

“知了”强大的 书籍 功能,可以便捷地将大量 零散 的资源 汇聚 起来,便于日后对于知识的查看、编辑、分享等一系列管理。

“书籍”功能使用指南

自邮之翼有一个优良的传统:每位同学会将自己在某一领域的宝贵的学习成果做成教程。因此长期以来,团队内部积累了大量有价值的资源,例如近期团队的 大数据分析实战入门 系列讲座教程,这一系列的教程正是依托“知了”聚合成了一本 有分量 的书籍,为团队成员和未来加入团队的新人提供了一个丰富的“ 资源池 ” 。各位有兴趣的朋友可以点击链接观看。

大数据分析实战入门书籍

我们将在“知了”的后续版本中,提供开放API,届时用户可以通过更加便捷的方式,将所需的知识汇聚起来,形成一本本具有自身 特色的“书籍” ,例如:数据集、教师信息、工作文档、通知公告等。同时,我们期望从技术上,实现对外部资源的 自动化 “挖掘——解析——分类——聚合”,让每一本“书籍”可以实现高效持续的更新。

产品截图

图1-首页

图2-登陆后首页

图5-新建

图3-书籍

图4-搜索

功能概述

图6-功能概述图

技术架构

图7-系统架构图

目录说明

├─config: 项目配置文件

├─kmses: ES模块(待解耦)

├─kmstika: 附件解析模块

├─knowledgems: Web模块

└─zhi-docker: Docker部署方案
    ├─docker-compose.yml: 容器编排配置

    ├─zhies: ES镜像配置

    ├─zhimysql: MySQL镜像配置

    └─zhiweb: Web端镜像配置

安装部署

现有版本提供基于Docker 一键部署项目及所有依赖环境的Standalone 部署模式,后续版本考虑提供Cluster 部署模式。

1 部署环境

  • 一台2核4G的x86/x64 Linux 主机,操作系统为CentOS 7 / Ubuntu 20.04;

  • Docker 20.10.0 及以上;

  • Docker-Compose 1.25.5 及以上。

2 部署前准备

部署前需要在宿主机中完成三个简单的操作。

  1. 修改系统参数,保证ES能够正常启动:

    echo "vm.max_map_count = 262144" >> /etc/sysctl.conf
    /sbin/sysctl -p
  2. 暴露主机端口:

    • 8081:Web访问的端口,必须开启;
    • 3306:MySQL服务端口,可以选择开启;
    • 9200、9300:Elasticsearch服务的相关端口,可以选择开启;
    • 9100:Elasticsearch-head服务端口,可以选择开启;
    • 8090:nginx文件系统端口,可以选择开启。
  3. 重启Docker

    sudo systemctl daemon-reload
    sudo systemctl restart docker

3 安装部署

  1. 上传安装包zhi-1.2.3-deployed.tar.gz,并解压:

    tar zxvf zhi-1.2.3-deployed.tar.gz
  2. cd 到安装目录../zhi-docker/,构建镜像:

    docker-compose build
  3. 启动容器:

    docker-compose up -d
  4. 启动成功,打开浏览器访问Web页面

    # Web项目首页
    主机公网ip:8081
    默认的超级管理员账号为11111111111,密码为666666

开发进度

v1.0.0 -- 已完成

设计并实现了“知了”的第一个版本,主要功能如下:

  1. 资源
  • 资源支持富媒体格式,包括:文字、图片和文档附件(富文本编辑器基于TinyMCE)
  • 支持为“资源”打标签(即分类功能、支持用户自定义多级标签)
  • 支持为“资源”设置可以访问的用户组
  • 支持对资源进行评论
  • 导入“free 分享”中的历史数据
  1. 用户与群组
  • 支持用户申请、添加、删除、修改
  • 用户权限划分为超级管理员、内容管理员、用户管理员、系统管理员、普通用户、游客
  • 具有群组创建者、群组管理员、群组成员等三级权限
  • 一个用户可以同时属于多个用户组
  1. 搜索及高级搜索(基于ES)
  • 支持基于关键字(资源标题、正文、作者、群组、分类)的搜索
  • 支持基于标签、用户组的高级搜索
  • 支持直接查看用户组中的资源,直接查看带有该标签的资源
  1. 前端基于BootStrap + jQuery,支持响应式布局

v1.1.0 -- 已完成

这一次的迭代周期中,在 1.0 版本的基础上,参考原有模板重写了前端的css,对后端进行完整的测试并重写了问题代码,完成对知了前后端目前存在问题的一些修复,主要更新内容如下:

  1. 前端重构工作
  • 清理冗余静态资源
  • 设计并实现新的前端方案(含css 命名规范、使用说明、使用范围、图例)
  • 修复现有前端样式的问题
  1. 后端优化工作
  • 后端所有入口出口日志埋点
  • 进行测试,定位“问题”代码块,并解决性能问题
  • session 时长、图片转存时长设置
  • 搜索结果列表分页修复
  1. 功能新增
  • 模板发文功能
  • 书籍功能
  • 系统设置功能
  • 富文本编辑器顶栏吸附
  • 评论区支持富文本编辑及分页展示

v1.2.0 -- 已完成

1.2 版本的迭代主要着眼于后端系统的优化和完善

  1. 文件服务模块方案的重新设计及代码的重构
  • 基于现有的文件读写方案(newfreedisk.jar),进行重构
  1. 面向多环境的多套配置文件的机制
  • 清晰区分开发环境,生产环境,发布环境的不同配置
  • 根据上述配置梳理现有代码
  1. 依赖的版本升级
  • TinyMCE升级到5.9.1版本,支持markdown形式输入
  1. BUG修复
  • 修复配置文件乱码的问题

v1.2.1 -- 已完成

本次版本更新的主要目标是提供系列开放API

  1. 提供开放API
  • 查询接口
  1. BUG修复
  • 修复书籍权限调整为公开后,进入书籍仍然需要登录的问题
  • 修复书籍编辑页面JSON输入框某些情形下退格的BUG
  • 修复被推荐资源删除后spec表中仍然存在的空指针问题
  • 新增部署后时区不正确的解决方案
  1. 新增ES相关的功能接口
  • 备份ES索引
  • 删除ES索引
  • 重建ES索引

v1.2.2 -- 已完成

本次版本更新的主要目标是继续完善后端模块和新增一些实用功能

  1. 完善文件服务模块
  • 调整文件下载逻辑:图片链接直接在浏览器打开,附件链接通过浏览器下载

  • 修复附件解析模块,调整文件io逻辑,重新上线该模块

  1. 新增功能
  • 资源导出pdf
  1. BUG修复
  • 修复资源详情页面中的图片的下载问题

  • 修复点击单个标签搜索失败的问题

  • 修复评论区分割线异常的问题

v1.2.3 -- 已完成

本版本更新的主要目标是更新一些有用的新功能,并修复若干BUG

  1. 新增功能
  • 资源导出pdf支持PNG、JPG、GIF、WEBP、BITMAP等多种格式
  • 资源导出pdf支持中文名
  • 优化资源导出PDF时的缓存机制
  • 支持开放API:关键词及标签搜索(目前支持两类标签:类别、群组)、资源详情查询
  • 提供基于开放API实现的信息查询应用示例
  1. 优化功能
  • 调整ES搜索规则:标签间关系取与;按照hitScore降序;在hitScore降序基础上,保持createTime降序
  1. 修复若干BUG
  • 修复资源导出PDF时图片大小无法自适应宽度及越界的问题
  • 修复新建资源页面模板按钮点击偶尔错乱显示的问题
  • 修复评论折叠后换行符无效的问题
  • 修复模版按钮多次选择时高亮失效的问题

v1.3.0 -- 待开发

本次大版本更新的主要目标是系统管理引入全方位的配置管理,并支持附件内容的全文检索

  1. 各项配置的修改(WEB中提供功能入口)
  • 定时任务周期

  • ES地址

  • MySQL地址

  • 文件服务地址

  1. 新增功能
  • 排查某一个资源搜索不到的原因
  • 支持针对附件内容的全文检索
  1. 新增开放API
  • 新增资源API

贡献说明

本项目由自邮之翼团队研发,指导老师为北京邮电大学徐鹏老师,贡献人员名单如下:

  • 北京邮电大学 2020级硕士研究生 胡裕竹

  • 北京邮电大学 2020级硕士研究生 郝一

  • 北京邮电大学 2020级硕士研究生 李运泽

  • 北京邮电大学 2020级硕士研究生 高齐鸿

  • 北京邮电大学 2018级硕士研究生 刘珂琪

  • 北京邮电大学 2018级本科生 赵浩天

  • 北京邮电大学 2018级本科生 刘新元

  • 北京邮电大学 2018级本科生 刘鸿洁

  • 北京邮电大学 2018级本科生 徐子雯

Java
1
https://gitee.com/rtpay/zhi.git
git@gitee.com:rtpay/zhi.git
rtpay
zhi
知了-轻量化知识管理
branch-v1.2.3-open

搜索帮助