重要的
?網絡網絡管理客戶客戶端需要一個新的平台所有者 /維護者嗎?
問題#473可以提供更多詳細信息。
此應用程序是網格級項目的桌面客戶端,旨在允許用戶可靠地管理大型的,分散的網絡網絡。目前,網狀客戶端生態系統對管理單個節點有很大的支持,但對網絡級管理和分析的支持最少。該項目的目的是通過新穎的算法分析和連接級別的見解使用戶對其網絡網絡的信心作為可靠的通信基礎架構。

該應用程序是使用Tauri Framework建造的,Tauri框架是電子框架的現代安全繼任者。這使我們能夠在同一代碼庫中本地支持Linux,MacOS和Windows,而無需Chromium瀏覽器的性能或內存開銷。由於其性能和安全性,我們的核心應用程序基礎架構是生鏽書寫的,我們的UI和客戶功能使用VITE編寫。該項目處於開發的早期階段,因此尚不適合生產使用。
在撰寫本文時,該項目目前由單個開發人員維護。因此,該項目正在尋找願意為以下主要舉措做出貢獻或領導的開發人員:
該項目仍處於開發的早期階段,但這是我們正在努力的功能的粗略路線圖。我們將正確的核心基礎架構優先考慮,因為這是任何強大而有效的UI層的核心。
該項目建立在網狀硬件生態系統上,因此該客戶端要求您可以訪問網格廣播。這可能在將來發生變化,但是暫時需要一個物理收音機才能使用此客戶端。
我在這裡寫了一些個人硬件建議。
該項目是用Rust和React打字稿內置的,並使用PNPM軟件包管理器進行管理。因此,該項目需要在開發機上安裝以下程序:
要在本地運行該項目,請按照以下步驟操作:
git clone https://github.com/meshtastic/network-management-client.git來完成git submodule update --init遞歸克隆我們的git subsodulespnpm i安裝所有必需的NPM軟件包pnpm run rust:dev Command驗證安裝。該應用程序應成功編譯,您應該成功地看到應用程序打開。如果此過程失敗了,請告訴我們!儘管可以在任何文本編輯器中開發此項目,但我們建議Visual Studio代碼編輯器。如果使用VSCODE,我們強烈建議您安裝以下Visual Studio代碼擴展。這些擴展既強制執行代碼樣式,又可以為我們的技術堆棧提供語言和框架支持。
一些不需要的可選擴展名,但我們發現很有幫助:
為了標準化我們的開發流程,我們使用package.json中定義的PNPM命令。這些命令可以使用pnpm run NAME ...ARGS語法運行。我們的命令分為兩個主要類別: rust:*命令和ui:*命令。 rust:*命令運行整個桌面應用程序,其中ui:*命令僅運行UI層。
注意:我們強烈建議您不使用
ui:dev和ui:build命令。這些命令在內部由rust:dev和rust:build命令。運行ui:dev命令時,您將無法連接到串行DEVCE,因為該邏輯未在UI層中處理。
我們目前正在努力增加對Storybook框架的支持,該框架將允許貢獻者開發UI組件,而無需運行整個桌面應用程序。
pnpm run rust:dev在開發模式下啟動桌面應用程序,可以熱加載UI和Rust Code
pnpm run rust:build - 在系統體系結構的生產模式下構建桌面應用程序。目前,我們僅使用此命令來測試應用程序的CLI參數解析器。
pnpm run rust:test - 在Rust Codebase目錄( /src-tauri )上運行後端測試。此命令還會在/src-tauri/bindings目錄中生成TypeScript客戶端綁定。添加-- --show-output顯示Rust println!測試套件中的宏通話。
pnpm run ui:dev啟動UI開發服務器,允許在瀏覽器環境中開發UI。請注意,任何與Rust後端連接的代碼都不會在此瀏覽器環境中起作用,這意味著您將無法在此上下文中連接到串行設備
pnpm run ui:build : - 在UI代碼上運行生產構建到dist目錄
pnpm run ui:lint使用ESLINT檢查代碼樣式錯誤。請注意,我們的CI管道要求此命令在合併任何更改之前成功
pnpm run ui:format - 使用Prettier和Eslint格式化UI代碼庫。我們強烈建議您在創建PR之前運行此操作!
pnpm run ui:test - 使用Jest運行UI測試套件。目前,該項目沒有UI測試套件,但我們非常願意貢獻!
(棄用)pnpm run ui:preview - 從dist目錄運行構建的UI。必須在ui:build
注意:在Linux上,您的用戶可能無權訪問給定的串行端口。如果發生這種情況,您可能需要將用戶添加到控制要訪問的串行端口的組。您可以通過
ls -ld PATH_TO_PORT_HERE命令找到控制串行端口的組。您可以通過usermod -a -G GROUP_NAME_HERE $USER命令將用戶添加到此組中。
由於我們還在很早的開發中,因此我們還沒有接受貢獻的標準化框架。話雖如此,我們對建議和/或代碼更改非常開放!如果您有興趣為此存儲庫做出貢獻,我們會要求您首先檢查我們的發行委員會,以確保您的工作不會重複他人的工作。然後,請在我們的董事會上提出問題,以便我們知道您有興趣的工作。如果您對該項目有任何疑問,我們很樂意收到您的來信!