Fragmenta

用于创建、运行和部署 golang 网站的命令行工具,是 fragmenta go 网络框架的一部分。「A command line tool for creating, running and deploying golang websites, part of the fragmenta go web framework」

  • 所有者: fragmenta/fragmenta
  • 平台: Linux, Mac
  • 许可证: MIT License
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

Fragmenta

Fragmenta 是一个用于创建、管理和部署 golang 网络应用的命令行工具。它自带一套库,使开发 web 应用程序更容易,并旨在允许管理应用程序,而不需要对它们使用的库或其内部结构做太多假设。它负责生成 CRUD 动作、处理认证、路由和渲染,让你专注于你的应用程序的独特部分。

使用 Fragmenta

  • fragmenta版本 -> 显示版本
  • fragmenta help -> 显示帮助
  • fragmenta new [app|cms|blog|URL] path/to/app -> 从版本库中创建一个新的应用,路径为提供的URL。
  • fragmenta -> 构建并运行一个fragmenta应用程序。
  • fragmenta server -> 构建并运行一个fragmenta应用。
  • fragmenta测试 -> 运行测试
  • fragmenta backup [development|production|test] ->备份数据库到db/backup。
  • fragmenta restore [development|production|test] -> 从db/backup中的最新文件备份数据库。
  • fragmenta deploy [development|production|test] -> 使用 bin/deploy 进行构建和部署。
  • fragmenta migrate -> 在db/migrate中运行新的sql迁移。
  • fragmenta generate resource [name] [fieldname]:[fieldtype]* -> 创建资源的CRUD操作和视图。
  • fragmenta generate migration [name] -> 在db/migrate中创建一个新的命名的sql migration。

应用结构

默认应用的布局结构如下:

  • bin -> 服务器二进制文件,以及可选的部署脚本。
  • db -> 数据库备份和迁移。
  • public -> 公开服务的文件,包括资产、上传的文件等。
  • secrets -> 配置文件,一般不在检查范围内。
  • server.go -> 您的应用入口点(必填)。
  • src -> 应用程序源文件 - 这个文件夹的结构由你决定

应用程序中的 pkg 布局由你决定 -- 我们提供了默认值,但不是强制性的。在 src中,默认的包是按资源排列的--生成器会生成一个新的资源,其结构如下。

  • pages -> 资源名称
    • actions -> 对该资源进行操作(处理CRUD等)。
    • assets -> 本资源的js,css,图片。
    • pages.go -> 资源模型文件
    • pages_test.go -> 对这个模型进行测试。
    • views -> 该资源的视图

以下独立包可用于 fragmenta 应用程序(或其他 go web 应用程序)。

  • assets -- 一个带有资产指纹的资产流水线,可对资产进行精简和合并。
  • auth -- 用于认证和授权的工具。
  • fragmenta -- 一个用于生成和开发网站的命令行工具。
  • model -- 用于在模型中可选包含的基模型类。
    • file -- 一个用于处理文件上传的软件包
    • validate -- 一个用于处理字段验证的包。
  • query -- 一个针对 mysql、psql 和可选的 sql 的查询生成器和结果封装器。
  • router -- 路由器,允许模式匹配、路由、重定向、过滤器,并提供一个处理接口。
  • server -- 一个基于 http.listenandserve 的简单服务器。
  • view -- 用于使用 html/template 渲染视图模板的库。
    • helpers -- 表单字段、货币等的助手。

数据库设置

目前 fragmenta 假设使用 Postresql,虽然它可以使用其他数据库,但这是默认的。

如果您是第一次安装 postgresql,您会发现最简单的方法是为自己创建一个用户,无论是作为超级用户还是具有本地开发的特定权限,如下所示。

sudo su postgres
createuser $USER
psql
ALTER USER $USER WITH SUPERUSER;
ALTER USER $USER WITH CREATEROLE;
ALTER USER $USER WITH CREATEDB;


主要指标

概览
名称与所有者fragmenta/fragmenta
主编程语言Go
编程语言Go (语言数: 1)
平台Linux, Mac
许可证MIT License
所有者活动
创建于2015-07-25 13:56:17
推送于2020-11-25 21:46:40
最后一次提交2020-11-25 21:41:52
发布数12
最新版本名称v1.5.6 (发布于 )
第一版名称v1.2 (发布于 )
用户参与
星数298
关注者数16
派生数40
提交数82
已启用问题?
问题数29
打开的问题数9
拉请求数4
打开的拉请求数0
关闭的拉请求数3
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?

Fragmenta

Fragmenta is a command line tool for creating, managing and deploying golang web applications. It comes with a suite of libraries which making developing web apps easier, and aims to allow managing apps without making too many assumptions about which libraries they use or their internal structure. It takes care of generating CRUD actions, handling auth, routing and rendering and leaves you to concentrate the parts of your app which are unique.

Using Fragmenta

  • fragmenta version -> display version
  • fragmenta help -> display help
  • fragmenta new [app