>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
TypeScript

如何将代码仓库和笔记汇聚到一张无限画布上

熟悉的场景:早上打开浏览器,三十个标签页正等着你。一个标签页是 GitLab 上的任务,另一个显示 GitHub Issues 的 bug 报告,第三个打开着 Notion 笔记,旁边还有十几条文档和设计稿的链接。所有这些信息分散在各个服务中,需要大约十五分钟才能恢复上下文,然后才能开始工作。

最近偶然发现了一个有趣的项目,叫做 Ideon。这是一个用于空间化项目组织的自托管画布。作者决定放弃通常的嵌套文件夹和树状目录结构,提议将所有开发元素放在一张无限的地图上。

Ideon workspace overview

为什么用地图替代列表

通常,笔记和任务管理工具迫使我们将想法塞进层级结构中。我们创建文件夹,在其中创建子文件夹,然后是页面和列表。问题是,真实项目很少能适应严格的树形结构。前端仓库与后端相关联,后端也有关联的 bug 工单、合作伙伴 API 链接和架构草图。

Ideon 使用空间邻近原则。如果两个块在画布上相邻放置,它们就在意义上相关联。你只需在画布上拖动卡片,按照对你或你的团队来说方便的方式进行分组,而不是按照文件系统结构的规定。

内部结构

该项目使用 TypeScript 编写,采用 AGPLv3 许可证分发。主要功能围绕代码库集成和协作展开。

与 Git 平台的实时集成

Ideon 与 Miro 或 Excalidraw 等普通虚拟白板的主要区别在于与代码的直接连接。你可以嵌入仓库并从四个流行的系统中打开工单:

  • GitHub
  • GitLab
  • Gitea
  • Forgejo

你粘贴一个任务或仓库的链接,块就会转换为一个带有状态和详情的交互式卡片。你可以在画布的一个角落分组后端服务,在附近挂起打开的 issue 卡片,并直接附加一个带有 API 契约描述的 markdown 文件。

笔记、媒体和文件

画布不仅限于代码链接。你可以在画布上放置支持 Markdown 的笔记、图片、文档和文件。如果你正在设计一个服务,可以将架构决策的文本和日志中的错误截图放在数据库模式旁边。

实时协作

该项目内置了多人协作功能。多个人可以同时移动卡片、编写笔记,并在同一个画布上讨论架构。同事的光标可以直接在屏幕上看到。

状态快照和时间机器

在活跃开发期间,画布变化很快。为了避免丢失重要决策,Ideon 添加了快照机制。你可以回到过去,查看工作区一周前的样子,当时你正在选择技术栈或讨论第一个版本。

如何自行部署

开发者将所有内容打包成 Docker Compose,所以在自己的服务器上启动只需几分钟。

你需要安装 Docker 和 Docker Compose。克隆项目并配置环境变量:

git clone https://github.com/3xpyth0n/ideon.git
cd ideon
cp env.example .env

.env 文件中,你必须生成并指定一个密钥,例如使用 openssl rand -hex 32 命令,如果需要也可以更改数据库凭据。

配置完成后,启动容器:

docker compose up -d

界面将在浏览器中通过 http://localhost:3000 访问。

如果现在本地部署看起来太麻烦,作者已经设置了一个公开演示在 https://demo.theideon.com。你可以使用用户名 ideon-demo 和密码 ideon-demo 登录。

这个项目适合谁,不适合谁

Ideon 看起来对小型团队和同时并行处理多个个人项目的独立开发者很有吸引力。当你每周在项目之间切换时,空间地图可以帮助你立即想起上次停在哪里,以及接下来计划做什么。对本地 Gitea 和 Forgejo 的支持尤其不错,这将受到完全自主开发环境爱好者的欢迎。

另一方面,这个项目还很年轻,仓库中大约有六百颗星。如果你需要带有严格截止日期的严格看板、燃尽图,以及与 Jira 等企业追踪器的集成,Ideon 的功能是不够的。但作为一个管理个人或团队项目的可视化控制面板,它看起来相当独特。绝对值得一试,哪怕只是通过演示版。

相关项目