Skip to content
This repository has been archived by the owner on Feb 7, 2024. It is now read-only.

null-object-0000/newbie-docs

Repository files navigation

newbie-docs

基于 Vue 3.0 的开源知识库(文档)管理系统,详细 业务逻辑 介绍以及 常见问题 请见对应文档。

主要功能

  • 📒 像书一样的知识库
  • 🎁 多样的在线编辑器
  • 🏃 便捷的私有化部署
  • 😊 个人和团队都适用

开发计划

v1.0.0

  • 基于 Vue 3.0 完成 codex.docs 所有能力
  • 支持多样的在线编辑器
  • 支持通过知识库管理文档,参考 语雀
  • 实现基于 LocalStorage 的客户端存储用于演示
  • 实现基于 Amazon S3 存储的 Java RESTful API 服务端
  • 支持基于 OAuth2 的第三方登录 + 知识库、文档的权限管理
  • 支持通过 Docker 部署

LocalStorage 存储实现不支持权限管理能力,此时默认所有人都拥有所有知识库、文档的管理员权限

v2.0.0

  • 基于 YJS 实现文档协同编辑
  • 完成移动端适配 + 暗黑模式
  • 接入 AIGC 辅助文档编写

v3.0.0

  • 支持自定义主题样式
  • 支持更丰富的在线编辑器
  • 文档的多版本管理 + 支持从各平台导入文档
  • 实现基于 Amazon S3 存储的 多语言的 RESTful API 服务端
    • 基于 Node.js 的 RESTful API 服务端

开发部署

本地开发

website

  • node 18
  • pnpm 8.6
# 环境配置(windows)
copy .\newbie-docs-website\.env .\newbie-docs-website\.env.local

# 本地运行
pnpm install
pnpm website:dev

# 代码提交
npm install -g commitizen
pnpm run website:commit

# 本地构建
pnpm website:build

java-server

  • jdk 17
  • maven 3.9
# 环境配置(windows)
cd .\newbie-docs-server-java\
copy .\src\main\resources\application.properties .\src\main\resources\application-local.properties

# 本地运行(windows)
mvn clean package -Dmaven.test.skip=true
java -jar -Dspring.profiles.active=local .\target\newbie-docs-server-java.jar

Codespaces(linux)

nvm install 18
nvm use 18
npm install -g npm
npm install -g pnpm

cp ./newbie-docs-website/.env ./newbie-docs-website/.env.local

sdk install java 17.0.8-ms -y
sdk use java 17.0.8-ms

cd newbie-docs-server-java/
cp src/main/resources/application.properties src/main/resources/application-local.properties

mvn clean package -Dmaven.test.skip=true
java -jar -Dspring.profiles.active=local target/newbie-docs-server-java.jar

Docker 部署

java-server + website

# 构建镜像
docker build -t newbie-docs:latest .
# 运行容器
docker run -d -p 8080:80 --name newbie-docs newbie-docs:latest

nginx + website

# 构建镜像
cd .\newbie-docs-website\
docker build -t newbie-docs:latest .
# 运行容器
docker run -d -p 8080:80 --name newbie-docs newbie-docs:latest

技术栈

website

server

database