Skip to content

用于 3d 打印文件的自托管数字资产管理器。以前名为“VanDAM”

License

Notifications You must be signed in to change notification settings

yuanxiaoming8899/manyfold-cn

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

多重

Manyfold 是一个开源、自托管的 Web 应用程序,用于管理 3d 模型集合,特别专注于 3d 打印。

请访问Manyfold.app了解更多详细信息、安装说明以及用户和管理指南!或者,要立即尝试,请在try.manyfold.app尝试我们的演示。

帮助和支持

有几种途径可以获得帮助:

而且,如果您想为开发工作提供经济贡献,您可以在Open Collective中这样做。

开发者文档

Manyfold 是开源软件,我们鼓励贡献!如果您想参与其中,请遵循以下指南,其中解释了如何启动和运行。然后看看我们的第一期标签,了解可能适合代码库新手的任务,或者看看我们的开发路线图

应用架构

该应用程序是用Ruby on Rails构建的,并尽可能遵循该框架的最佳实践。如果您不熟悉 Rails,他们的入门指南是一个很好的入门指南。

一般来说,Manyfold 是一个使用普通旧 HTTP 请求的服务器端应用程序。我们还没有任何使用 XHR、Websockets 或其他更具交互性的通信的代码(尽管将来可以这样做)。

该应用程序由应用程序服务器本身以及使用Delayed::Job执行异步任务的后台作业运行程序组成。

我们还使用其他一些主要组件来构建:

  • Bootstrap 5提供前端 CSS / JS
  • THREE.js(通过 TypeScript)用于客户端 3D 渲染
  • Mittsu是 THREE.js 的 Ruby 端口,用于服务器端 3D 代码
  • ActiveAdmin目前用于提供高级数据库管理界面
  • PostgreSQL是生产数据库,尽管在开发中使用 sqlite3

本地运行

要自行运行该应用程序,您需要安装以下内容:

要在克隆此存储库后运行应用程序,您应该能够运行bin/dev; 应该设置数据库、执行迁移、安装依赖项,然后使应用程序在http://127.0.0.1:5000上可用。

编码标准

代码气候可维护性 代码气候技术债务

我们使用Rubocop来监控 Ruby 代码中对编码标准的遵守情况。我们针对特定库和框架使用StandardRB规则以及一些其他规则集。

您可以使用 运行 linter bundle exec rubocop

我们还有 ERB 和 Typescript 文件的 linter。您可以分别使用:bundle exec erblint --lint-all和来运行它们yarn run lint:ts

代码 linting 由我们的 GitHub Actions 测试运行程序自动执行,但如果您设置Husky,它也将作为预提交挂钩执行。

测试

GitHub Actions 工作流程状态 代码 气候覆盖范围

我们希望生成经过良好测试的代码;虽然不是 100%,但我们的目标是通过每一个新代码来提高测试覆盖率。

您可以使用命令一次性运行测试套件bundle exec rake,也可以启动连续测试运行程序,bundle exec guard它将在您编写代码时自动运行测试。

当使用 GitHub Actions 推送到我们的存储库时,测试会自动运行。

国际化与翻译

Manyfold 使用Rails 的 I18n 框架来处理所有文本内容。

您可以使用 来检查区域设置文件的有效性bundle exec i18n-tasks health。这也作为我们的测试管道的一部分运行,因此将在新代码上强制执行。

翻译也可在客户端 Javascript 中使用;它们是使用i18n-js从 Rails 语言环境文件构建的,作为资产管道的一部分。如果您需要手动运行导出,请执行bundle exec i18n export -c config/i18n-js.yml

我们正在使用Translation.io来管理其他语言的翻译。如果您想在这方面提供帮助,请在该网站上注册并向我们发送您感兴趣的语言的 GitHub 问题上的用户名。

要与 Translation.io 同步,请运行rake translation:clobber_and_sync:{locale}支持{locale}的代码,例如de.

构建 Docker 镜像

与仓库一起建造

该应用程序作为多平台 docker 镜像进行分发(由Depot构建);有关完整详细信息,请参阅我们的Docker Compose 说明。

如果您想构建自己的 Docker 映像版本,可以通过docker build .在该存储库的根目录中运行来以通常的方式进行操作。

资金

该项目由NGI0 Entrust资助,该基金是由NLnet在欧盟委员会下一代互联网计划的财政支持下建立的。请访问NLnet 项目页面了解更多信息。

NLnet 基金会徽标 NGI 零标志

About

用于 3d 打印文件的自托管数字资产管理器。以前名为“VanDAM”

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 69.9%
  • HTML 24.8%
  • TypeScript 3.4%
  • SCSS 1.1%
  • JavaScript 0.5%
  • Dockerfile 0.2%
  • Other 0.1%