重要的
?网络网络管理客户客户端需要一个新的平台所有者 /维护者吗?
问题#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命令将用户添加到此组中。
由于我们还在很早的开发中,因此我们还没有接受贡献的标准化框架。话虽如此,我们对建议和/或代码更改非常开放!如果您有兴趣为此存储库做出贡献,我们会要求您首先检查我们的发行委员会,以确保您的工作不会重复他人的工作。然后,请在我们的董事会上提出问题,以便我们知道您有兴趣的工作。如果您对该项目有任何疑问,我们很乐意收到您的来信!