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