https://github.com/carbon-bond/carbonbond
碳鍵。提高你的鍵能,把那些笨蛋嘴成渣吧!
https://github.com/carbon-bond/carbonbond
chatroom forum modern react rust typescript
Last synced: about 1 year ago
JSON representation
碳鍵。提高你的鍵能,把那些笨蛋嘴成渣吧!
- Host: GitHub
- URL: https://github.com/carbon-bond/carbonbond
- Owner: carbon-bond
- Created: 2019-07-20T19:15:59.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-04-05T14:19:45.000Z (over 3 years ago)
- Last Synced: 2024-11-11T10:42:42.482Z (over 1 year ago)
- Topics: chatroom, forum, modern, react, rust, typescript
- Language: TypeScript
- Homepage: https://carbonbond.cc
- Size: 5.7 MB
- Stars: 18
- Watchers: 5
- Forks: 3
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 碳鍵
碳鍵是一個次世代的論壇。它在文章之間的交互作用、筆戰過程中劍拔弩張的感受、板塊統治集團的鬥爭功能上進行了史無前例的大幅強化。
諸君,準備好了嗎?
> 提高你的鍵能,把那些笨蛋嘴成渣吧!
## 特點
- 文章有「結構」
- 可設定一個分類的文章必須由哪些資訊構成
- 例如「新聞」必須包含來源、記者、內文、日期四個欄位
- 發文者必須按照結構填寫表單,格式正確才能發文成功
- 欄位可以限制型別,如數字、日期、字數在一百字以上的文本......等等
- 文章之間有多樣的鍵結關係
- 作者可以畫出鍵結來表示文章是在批鬥/支持/懷疑另一篇文章
- 一篇文章可同時跟多篇文章產生鍵結
- 精美的圖形介面可顯示文章之間的關係
- 外掛系統
- 根據看板中的文章結構、鍵結,進一步客製化看板的介面
- 外掛作者可製作外掛上傳至碳鍵的外掛商店
- 政黨系統
- 看板由執政黨管理,握有定義板內文章結構、鍵結的權限,並可制定以人來做後續仲裁的板規
- 一個看板板可能有多個在野黨,在野黨可以在具備民意基礎的狀況下挑戰執政黨
- 一個政黨由多個黨員組成
- 黨員可指派成不同角色,擁有各自的權限
- 即時通訊
- 個人
- 羣組
- 頻道
- 現代介面
- 支援瀏覽器跟App
- 支援 Markdown 標記語言
- 也考慮設計碳鍵自己的標記語言
更多細節詳見[碳鍵文件](https://docs.carbonbond.cc)。
## 建置
- 後端:使用 Rust 語言開發。
+ 使用 `cargo run` 可啟動伺服器
+ 使用 `cargo run -- --config-file FILE` 指定設定檔
+ 使用 `cargo run --bin dbtool` 可管理資料庫
+ 使用 `cargo run --bin prepare --features prepare` 準備所有程式碼生成的檔案,包含:
1. 幾丁前後端
2. sqlx 離線文件
+ 設定檔
- 預設使用 `api-service/config/carbonbond.[MODE].toml`,其中 `MODE` 為環境變數,可能的選項為 `release`、`dev` 及 `test`
- 若前述檔案不存在,則使用 `api-service/config/carbonbond.toml`
- 私密訊息,如 API KEY 等等,請放置於 `api-service/config/secret` 資料夾,並於設定檔中指定欲使用哪一個私密檔案
- 更詳盡的說明請參閱 `api-service/config/carbonbond.toml`
- 前端:使用 typescript + React 開發。
+ `yarn` 安裝套件
+ `yarn dev` 啓動前端伺服器,支援熱重載
+ `yarn lint` 檢查風格
更詳細的步驟請見 [快速開始](https://docs.carbonbond.cc/快速開始.html)。