本文適合喜歡倒騰效率工具的小夥伴和 Go 語言初學者
本文作者:HelloGitHub-蔡文心
這裡是維護 4 年有餘開源愛好者的老朋友——HelloGitHub 推出的《講解開源專案》系列。
今天給大家帶來的一款基於 Go+React 實現的專案管理工具開源專案——Taskcafe,該專案可以作為 Go Web 的實戰專案學習,不會 Go 的讀者也可以輕鬆通過 Docker 安裝使用。
一、介紹
相信各位小夥伴們在工作中或多或少都有接觸過專案管理工具。專案管理工具可以為我們提供輕鬆量化工作內容、為團隊提供高效協作的方法、專案進度視覺化等等的幫助,提高我們的工作效率和對目標的專注程度。Taskcafe 就能夠讓我們快速擁有一個屬於自己的任務管理工具,幫助記錄、管理、追蹤任務,讓你的生活和工作更加高效!
在專案管理工具中最常用的檢視模式就是看板了,所以看板也被稱為專案管理工具中的黃金聖盃。使用 Taskcafe 可以讓我們輕鬆的將周身事物看板(任務),萬物皆可放入看板。
目前 Taskcafe 支援的功能:
- 確保任務、專案、任務組等資料經過驗證(例如:僅專案名稱不能有空格)
- 任務檢視篩選
- 使用者介面
- 截止日期通知和提醒
- 專案收藏夾
- 團隊設定
- 日曆檢視
- 列表顯示
- 任務固定
- 等等
市面上已有種類繁多的任務管理工具,從 MeisterTask 到 禪道 再到 Teambition,他們使用從簡單到複雜、功能從基礎到豐富。但我印象中上述這些基本都是付費的,免費開源、部署方便的 Taskcafe 可以一試,讓我們繼續往下看吧!
1.1 私有部署
能夠在個人伺服器上搭建個人的專案管理工具,不用擔心隱私安全問題和收費的煩惱。
1.2 可擴充套件
使用任務管理工具時總會遇到因為自身業務的特殊性導致現有工具不能滿足需求的情況。因為 Taskcafe 是開源專案,所以能夠自己動手新增適應自己工作流程的功能。
1.3 安裝方式
- Docker
- 原始碼
考慮到此專案的受眾可能包括非程式設計師人群,接下來本文中將演示最方便的一種方案 使用 Docker 安裝。
二、安裝
2.1 Docker
準備
Step 1 Clone 專案
git clone https://github.com/JordanKnott/taskcafe && cd taskcafe
Step 2 在專案根目錄下執行
docker-compose -p taskcafe up -d
Step 3 成功
三、使用
3.1 建立 Admin 使用者
3.2 建立專案
3.3 建立看板(list)
3.4 新增任務(card)
在任務中可以新增成員、TODO 列表、檢視操作記錄、新增標籤和新增附件等等
3.5 移動任務
Taskcafe 包含的功能就不一一介紹了,跟著專案的文件,在 Web 頁面“點點點”就可以了。那麼快去動手實踐一番吧!
四、技術棧
1.1 前端
部分功能採用知名的 Kanban 皮膚實現。
- React
- Typescript
- GraphQL
2.1 後端
- Golang
- Chai 用於輕鬆構建 Restfull API
- JWT 使用者態控制
- Postgres 資料庫
- Machinery 一個分散式的訊息佇列
3.1 專案結構
...
├── README.md
├── cmd
│ ├── mage
│ └── taskcafe
│ ├── main.go //go的啟動檔案
├── frontend //前端工程
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc.json
│ ├── .gitignore
│ ├── .prettierrc.js
│ ├── .storybook
│ ├── Makefile
│ ├── codegen.yml
│ ├── package.json
│ ├── public
│ ├── src
│ ├── tsconfig.json
│ └── yarn.lock
├── internal //後端工程主要內容
│ ├── auth
│ ├── commands
│ ├── db
│ ├── graph
│ ├── logger
│ ├── notification
│ ├── route //路由註冊
│ └── utils
├── magefile.go
├── migrations //資料庫遷移檔案
...
後端使用 Golang 編寫,屬於 Golang 在 Web 專案的運用,採用了前後端分離模式,由於使用了 GraphQL 可以明顯發現 API 數量有所減少。
如果你是一個 Golang 新手那非常推薦你閱讀下 Taskcafe 的原始碼,該專案結構清晰並且有非常友好的註釋,常用的 Go 中介軟體都有用到,適合做為 Go 新手實戰和學習專案。
五、最後
至此,相信你對 Taskcafe 專案有了簡單瞭解,並且已經能夠成功在本地執行起來了。希望你在實際體驗中融入自己的工作、生活和周圍的事物來感受看板的魅力,充分體會到萬物皆可放入看板。
如果本文能夠為你帶來一點點幫助,請在右下角幫我點個贊吧~