Fragmenta

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

  • Owner: fragmenta/fragmenta
  • Platform: Linux, Mac
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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;


Overview

Name With Ownerfragmenta/fragmenta
Primary LanguageGo
Program languageGo (Language Count: 1)
PlatformLinux, Mac
License:MIT License
Release Count12
Last Release Namev1.5.6 (Posted on )
First Release Namev1.2 (Posted on )
Created At2015-07-25 13:56:17
Pushed At2020-11-25 21:46:40
Last Commit At2020-11-25 21:41:52
Stargazers Count290
Watchers Count17
Fork Count39
Commits Count82
Has Issues Enabled
Issues Count29
Issue Open Count9
Pull Requests Count4
Pull Requests Open Count0
Pull Requests Close Count3
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

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
To the top