Skip to content

BND-1/drawnix-plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Drawnix logo and name

开源白板工具(SaaS),一体化白板,包含思维导图、流程图、自由画等

Product showcase

All in one 白板,思维导图、流程图、自由画等

Featured|HelloGitHub

plait-board%2Fdrawnix | Trendshift

English README

特性

核心功能

  • 💯 免费 + 开源
  • ⚒️ 思维导图、流程图
  • 🖌 画笔
  • 😀 插入图片
  • 🚀 基于插件机制
  • 🖼️ 📃 导出为 PNG, JSON(.drawnix)
  • 💾 自动保存(浏览器缓存)
  • ⚡ 编辑特性:撤销、重做、复制、粘贴等
  • 🌌 无限画布:缩放、滚动
  • 🎨 主题模式
  • 📱 移动设备适配
  • 📈 支持 mermaid 语法转流程图
  • ✨ 支持 markdown 文本转思维导图

服务端功能(新增 🔥)

  • 🔐 用户认证系统:支持游客模式和注册登录
  • 📚 多画板管理:创建、重命名、删除多个画板
  • ☁️ 云端同步:注册用户数据自动同步到服务器
  • 💾 数据持久化:基于SQLite的可靠数据存储
  • 🎨 现代化UI:精心设计的登录界面,流畅的动画效果
  • 🚀 PM2部署:生产环境级别的进程管理

关于名称

Drawnix ,源于绘画( Draw )与凤凰( Phoenix )的灵感交织。

凤凰象征着生生不息的创造力,而 Draw 代表着人类最原始的表达方式。在这里,每一次创作都是一次艺术的涅槃,每一笔绘画都是灵感的重生。

创意如同凤凰,浴火方能重生,而 Drawnix 要做技术与创意之火的守护者。

Draw Beyond, Rise Above.

与 Plait 画图框架

Drawnix 的定位是一个开箱即用、开源、免费的工具产品,它的底层是 Plait 框架,Plait 是我司开源的一款画图框架,代表着公司在知识库产品(PingCode Wiki)上的重要技术沉淀。

Drawnix 是插件架构,与前面说到开源工具比技术架构更复杂一些,但是插件架构也有优势,比如能够支持多种 UI 框架(Angular、React),能够集成不同富文本框架(当前仅支持 Slate 框架),在开发上可以很好的实现业务的分层,开发各种细粒度的可复用插件,可以扩展更多的画板的应用场景。

仓储结构

drawnix/
├── apps/
│   ├── web                   # drawnix.com
│   │    └── index.html       # HTML
├── dist/                     # 构建产物
├── packages/
│   └── drawnix/              # 白板应用
│   └── react-board/          # 白板 React 视图层
│   └── react-text/           # 文本渲染模块
├── examples/
│   └── server-with-boards.js # 服务端(包含用户认证和多画板管理)
├── scripts/                  # 部署脚本
│   ├── start.sh             # 启动脚本
│   ├── stop.sh              # 停止脚本
│   └── restart.sh           # 重启脚本
├── ecosystem.config.js       # PM2 配置
├── package.json
├── ...
└── README.md
└── README_en.md

应用

https://mind.yangsir.netdrawnix 的最小化应用。

近期会高频迭代 drawnix.com,直到发布 Dawn(破晓) 版本。

快速开始

本地开发

# 安装依赖
npm install

# 启动开发服务器
npm run start

访问 http://localhost:4123

服务端部署(带用户认证和多画板管理)

方式1:使用便捷脚本(推荐)

# 安装依赖
npm install

# 构建前端
npm run build:web

# 启动服务(自动使用PM2)
bash scripts/start.sh

方式2:使用PM2

# 安装PM2
npm install -g pm2

# 构建前端
npm run build:web

# 启动服务
pm2 start ecosystem.config.js

# 查看状态
pm2 list

# 查看日志
pm2 logs drawnix-server

方式3:直接运行Node.js

# 构建前端
npm run build:web

# 启动服务器
node examples/server-with-boards.js

服务器启动后访问:

功能说明

服务端版本提供以下功能:

  • 游客模式:无需注册即可使用,数据保存在本地
  • 用户注册/登录:注册账号后数据同步到服务器
  • 多画板管理:创建、重命名、删除多个画板
  • 数据持久化:使用SQLite数据库存储数据

详细文档

Docker

docker pull pubuzhixing/drawnix:latest

依赖

  • plait - 开源画图框架
  • slate - 富文本编辑器框架
  • floating-ui - 一个超级好用的创建弹出层基础库

贡献

欢迎任何形式的贡献:

  • 提 Bug

  • 贡献代码

感谢支持

特别感谢公司对开源项目的大力支持,也感谢为本项目贡献代码、提供建议的朋友。

PingCode

License

MIT License

About

开源白板工具(SaaS),一体化白板,包含思维导图、流程图、自由画等,新增用户登录和数据同步功能

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors